python-2.7 - np.squeeze 从形状 (1,1) 之后返回的形状 () ndarray 是什么?

标签 python-2.7

我正在计算 NN 的成本函数。我对从 numpy.dot 得到的 (1,1) 答案做了一个 numpy.squeeze。然后我得到一个形状为 (0,1) 的 ndarray。

什么是形状 () 的 ndarray,形状 (1,) 的 ndarray 与形状 (5) 中的一个有何不同?

最佳答案

  • 形状的 ndarray (1, 1)类似于 [[3]] ,就像一个 1x1 矩阵。
  • 形状的 ndarray (1,)类似于 [3] ,就像一个大小为 1 的向量。
  • 形状的 ndarray () ,又名标量,类似于 3 .

  • 区别很微妙,因为由于广播规则,标量和数组通常可以毫无问题地组合在一起,但是您不能索引标量,而您可以索引大小为 1 的向量或大小为 1x1 的矩阵。另一方面,标量通常可以像原始 Python 值一样使用,例如 intfloat .如果您不想拥有标量,您可以传递 axis np.squeeze 的参数确保某些尺寸不被挤压或使用 np.atleast_1d 确保你传递的任何东西至少有一个维度。您还可以使用 np.isscalar 检查某事物是否为标量.

    关于python-2.7 - np.squeeze 从形状 (1,1) 之后返回的形状 () ndarray 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45862778/

    相关文章:

    python - 如何在 Python 中按特定数字自动递增重复值?

    python-2.7 - Python导入错误: pyqtconfig

    python - 无法安装 Python 库

    python - ftplib:被动和 NAT/地址转换

    python - 如何在具有不同输入可能性的命令行上运行 python 程序

    此python3代码的Python2版本用于编码

    python-2.7 - 如何在 TensorFlow 中混合基于队列和基于提要的输入

    python - 如何在列表列表中找到最常见的元素?

    python - Python 2.7.1 的 re 模块中 re.split 函数和 re.DOTALL 标志的错误

    c++ - 如何更改 $Extend 目录的权限? Python? C++?