我正在使用配备Keras GPU(2.3.1)和Tensorflow GPU(1.14)的GPU(NVIDIA MX150,2GB)的计算机上从InceptionV3微调CNN。由于图像很多,因此我使用的是生成器,而不是完整的数据集,因此,我使用的是.fit_generator()
。我的问题是:如果我使用一批32张图像,即使我将其指定为使用GPU,Keras也会立即使用我的集成显卡而不是GPU。然后,它在Resource exhausted: OOM when allocating tensor with shape (...)
上运行。如果我将批处理大小减小到5,则确实可以立即使用GPU,并且一切正常。
为什么我一开始不使用我的GPU?我没有成功解决此问题,但重新安装了Keras和Tensorflow。我在Internet上进行了检查,仅发现GPU根本无法工作的问题。在这种特殊情况下,仅当批量较小时才起作用。否则,Keras似乎会立即切换到CPU,而不是尝试尝试。