如何将for循环的输出保存到python图像数组中?

时间:2019-04-03 18:49:39

标签: python arrays for-loop keras scikit-learn

我有一组要调整大小的数据,但是,当我尝试调整数组大小时,出现内存错误...我的下一步是尝试建立一个循环,该循环将在每个图像上运行调整大小的转换1一次。我正在尝试遵循将代码的另一个轴添加到数据集的keras代码,以便可以预测所有训练数据图像。我不确定如何设置此循环以保存数据并继续处理50,000张图像中的下一个图像。到目前为止,这就是我所拥有的。这就是任务的要求:您的工作是使训练集的所有图像都经过相同的特征提取步骤,并将所得的特征向量用作常规分类器的输入。

from skimage import transform
#resized_xtrain =np.zeros((50000, 224, 224, 3))
for i in range (50000):
resized_xtrain= transform.resize(x_train[i], (224, 224, 3), order=1, mode='reflect')

使用.shape我得到(224,224,3)

model = Model(inputs=base_model.input, outputs=base_model.get_layer('fc2').output)

#img_path = 'elephant.jpg'
#img = image.load_img(img_path, target_size=(224, 224))
#x = image.img_to_array(img)
x = np.expand_dims(resized_xtrain, axis=0)

这将生成预测方法所需的形状(1,2,224,224,3)。

x = preprocess_input(x)

fc2_features = model.predict(x)
fc2_features.shape

fc2产生一个1, 4096。如何将50,000次迭代存储到1个数组中,以便可以将这些数据用于分类器?

0 个答案:

没有答案