【问题标题】:How to reshape a numpy array into 3 dimensional for input to convolutional layer?如何将 numpy 数组重塑为 3 维以输入到卷积层?
【发布时间】:2024-05-15 22:10:02
【问题描述】:

我有一个由 235 个元素组成的 x_train 数组,每个元素都是一个 numpy 数组,由 125 行和 125 列组成。我需要这个数组的形状为(235,125,125),以便输入我的卷积神经网络模型((((类似于我们需要输入 (6000,28,28) 的 MNIST 数字数组的情况),其中我们有 60000 个样本每个都是 28x28 数组)))

有人可以告诉如何将 x_train 数组重塑为 (235,125,125) 吗?

P.S 我最初将 x_train 从 pandas 系列转换为 numpy 数组,下面是快照

【问题讨论】:

    标签: pandas numpy numpy-ndarray conv-neural-network


    【解决方案1】:

    你需要使用 Numpy 的reshape 命令:

    x_train = x_train.reshape(x_train.shape[0], 125, 125, 1)
    

    看看this part ofKeras 的 MNIST CNN 教程。

    【讨论】:

      【解决方案2】:

      您可以按如下方式使用np.newaxis

      x_train [...,np.newaxis]
      

      你的形状会是:

      x_train [...,np.newaxis].shape
      (235, 125, 125, 1)
      

      【讨论】: