在包含图像的数组中创建批处理

时间:2019-01-06 05:51:58

标签: python numpy image-processing chainer

我有一个包含9957个图像的数组X_train。我正在建立一个卷积网络。用于馈入模型的数组的理想形状是(批大小,通道,高度,宽度)

X_train.shape #gives (9957, 60, 80, 3)
X_train[1].shape #gives (60, 80, 3)

如果我们使用

np.reshape(X_train,(-1, 3, 60, 80)) #it gives (9957, 3, 60, 80)

如何获取具有形状(批处理大小,3、60、80)的每个数组以及用于训练形状的最终图像数组(9957,批处理大小,3、60、80)?

1 个答案:

答案 0 :(得分:0)

您可以从第i张图片到i + batchsize图片,如下所示。

batchsize = 16
i = 0

X_batch = X_train[i: i+batchsize]
print('X_batch.shape: ', X_batch.shape)  # it should be (16, 3, 60, 80)

请使用for循环更改i以获取每个图像。例如,

for i in range(0, len(X_train), batchsize):
    X_batch = X_train[i: i+batchsize]

    # --- Do something with X_batch ---