加载图像时出现numpy memory错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加载图像时出现numpy memory错误相关的知识,希望对你有一定的参考价值。

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

答案

请告诉我们您正在使用哪种机器学习框架(例如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

以上是关于加载图像时出现numpy memory错误的主要内容,如果未能解决你的问题,请参考以下文章

从二进制文件加载图像像素时出现 C++ 分段错误

在刷卡器中从 php 加载图像时出现空错误

Python - 尝试使用 PIL 的 Image.fromarray 保存 numpy 数组时出现 TypeError

在 Python 中使用 multiprocessing.shared_memory.ShareMemory 时出现分段错误(退出代码 139(被信号 11:SIGSEGV 中断))

导入 numpy 模块时出现 Python 错误 [重复]

在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]