加载图像时出现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错误的主要内容,如果未能解决你的问题,请参考以下文章
Python - 尝试使用 PIL 的 Image.fromarray 保存 numpy 数组时出现 TypeError
在 Python 中使用 multiprocessing.shared_memory.ShareMemory 时出现分段错误(退出代码 139(被信号 11:SIGSEGV 中断))