Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Keras fit_生成器和datagen.flow时出现内存错误_Python_Image Processing_Computer Vision_Deep Learning_Keras - Fatal编程技术网

Python 使用Keras fit_生成器和datagen.flow时出现内存错误

Python 使用Keras fit_生成器和datagen.flow时出现内存错误,python,image-processing,computer-vision,deep-learning,keras,Python,Image Processing,Computer Vision,Deep Learning,Keras,我正在尝试将datagen.flow与Keras中的ImageGenerator类一起使用。我得到以下内存错误: Traceback (most recent call last): File "scratch_6.py", line 284, in <module> history = model.fit_generator(datagen.flow(train_X, train_y, batch_size=batch_size, save_to_dir='test_RA',

我正在尝试将datagen.flow与Keras中的ImageGenerator类一起使用。我得到以下内存错误:

Traceback (most recent call last):

File "scratch_6.py", line 284, in <module>

history = model.fit_generator(datagen.flow(train_X, train_y, 
batch_size=batch_size, save_to_dir='test_RA', save_format='png'),

File "/usr/local/lib/python3.5/dist-
packages/keras/preprocessing/image.py", line 455, in flow 
save_format=save_format)

File "/usr/local/lib/python3.5/dist-
packages/keras/preprocessing/image.py", line 764, in __init__
self.x = np.asarray(x, dtype=K.floatx())

File "/usr/local/lib/python3.5/dist-packages/numpy/core/numeric.py", line 531, in asarray
return array(a, dtype, copy=False, order=order)

MemoryError
回溯(最近一次呼叫最后一次):
文件“scratch_6.py”,第284行,在
历史=模型拟合发生器(数据生成流(X列、y列、,
批量大小=批量大小,保存到\u dir='test\u RA',保存格式='png'),
文件“/usr/local/lib/python3.5/dist-
packages/keras/preprocessing/image.py”,第455行,流动中
保存格式=保存格式)
文件“/usr/local/lib/python3.5/dist-
packages/keras/preprocessing/image.py”,第764行,in__init__
self.x=np.asarray(x,dtype=K.floatx())
asarray中的文件“/usr/local/lib/python3.5/dist-packages/numpy/core/numeric.py”,第531行
返回数组(a,数据类型,copy=False,order=order)
记忆者

我有128GB的内存可用。我尝试过减少批量大小,但没有改变。谢谢你的帮助。多谢各位

对于所有深度学习算法来说,这是一个常见的问题,因为数据集非常大。 因此,对于这类问题,我们无法将所有数据加载到RAM中,因为用于计算和保存模型RAM内存需要占用大量空间。此外,当我们将输入数据从int类型转换为floot类型时,将占用输入图像4倍的空间。 所以这个问题的解决方案是对图像进行预处理,完成数据扩充,将整个数据保存到hdf5数据库中,并存储到硬盘中,然后一批一批地获取数据加载并训练模型,这可能需要很长时间,但不会完全消耗内存

谢谢
库纳尔

你的照片有多大?224*224。如果我编写一个自定义生成器,它可以正常工作,但是dataset.flow会像上面那样失败。可能是内存泄漏。。。您是否检查了中所示的更“手动”的示例以查找问题?可能与……有关。