Error:OOM when allocating tensor with shape[......]

问题描述:

训练模型时,遇到:
Error:OOM when allocating tensor with shape[......]

原因:

内存不够,OOM即ran out of memory
可以使用top命令动态监听运行时间非常短的程序的内存使用情况:参考
启用2个session,一个session运行top命令,另一个session运行指定的程序,top命令会输出与这个命令相关的资源使用情况。
Error:OOM when allocating tensor with shape[......]

解决方法:

最直观的方式就是减小batch_size或者hidden_layer中的单元数

  • 减少批处理Batch 的大小
  • 降低全连接层的维度。分析错误的位置,在哪一层出现显卡不够,比如在全连接层出现的,则降低全连接层的维度,把2048改成1042啥的
  • 增加池化层,,降低整个网络的维度。
  • 缩小输入图片大小

总结:想进一切办法降维,降低网络的维度。

参考1:https://blog.****.net/huowa9077/article/details/81042553
参考2:http://www.freesion.com/article/9789162136/