【问题标题】:What does the parameter (..., -1) mean when reshaping an array?重塑数组时参数 (..., -1) 是什么意思?
【发布时间】:2017-12-03 00:00:59
【问题描述】:

我遇到了以下声明:

train_set_x.reshape(train_set_x.shape[0], -1).T

train_set_xshape 是:(209, 64, 64, 3)

因此我认为shape[0]209,而T 是转置?

但是我无法理解上面的reshape 声明?什么是-1

非常感谢任何澄清。

谢谢。

【问题讨论】:

    标签: python arrays numpy shape 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 图像,您最终会将每个图像重新整形为一个长向量。

    另外,请注意只有一个 -1 在数组将被重新整形为的新形状中。

    【讨论】:

      猜你喜欢
      • 2022-08-22
      • 1970-01-01
      • 2018-10-10
      • 2021-09-25
      • 2013-07-07
      • 2020-11-07
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多