加载图像时出现numpy memory错误

时间:2018-03-06 14:53:47

标签: python numpy memory

我想在numpy数组中加载一个庞大的图像数据集,使其成为我正在尝试训练的cnn模型的训练数据。当我尝试创建如下的numpy数组时,它给了我内存错误。 np.ndarray(shape=(250000, 3, 512, 512)) 我怎样才能在python中加载如此庞大的数据集?

1 个答案:

答案 0 :(得分:-1)

请告诉我们您正在使用哪种机器学习框架(例如Keras,Tensorflow,Pytorch)。根据框架,有几种方法可以避免在RAM上加载整个数据集(对于大型数据集是不可能的)

在这种情况下,您可以使用Keras的fit_generator函数。这将允许您将图像加载到批处理中,而不是将完整数据集加载到RAM中。您的生成器可以是任何python函数,但在您的情况下,可能会使用带有flow_from_directory方法的ImageDataGenerator

看看以下示例:

https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html

https://stanford.edu/~shervine/blog/keras-how-to-generate-data-on-the-fly.html

相关问题