我发现了以下声明:
train_set_x.reshape(train_set_x.shape[0], -1).T
train_set_x
的形状
为:(209, 64, 64, 3)
因此我相信 shape[0]
是 209
,而 T
是转置?
但是我无法理解上面的reshape
语句? -1
是什么?
非常感谢对此的任何澄清。
谢谢。
最佳答案
-1 将采用剩余维度并将它们展平为 1 维。因此,对于形状为 (209, 64, 64, 3)
的数组,调用:
arr.reshape(209, -1)
将产生形状为(209, 12288)
或(209, 64 * 64 * 3)的矩阵
>>> a = np.zeros([209, 64, 64, 3])
>>> a.reshape(209, -1).shape
(209, 12288)
如果您的代码适用于 64 x 64 RGB 图像,则最终每个图像都会被重新整形为一个长向量。
另外,请注意,数组将被 reshape 为的新形状中只能有一个 -1。
关于python - reshape 数组时参数 (..., -1) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47613897/