我想在相对较大的数据集上使用Tensorflow API的模型SSD MobileNet v2训练物体探测器(约3000个图像用于训练,约500个用于测试)。我已经成功管理了所有必要的预处理步骤,创建了 train.record 和 test.record 文件,并尝试使用 train.py运行模型的训练,但培训过程被内核杀死了。
>INFO:tensorflow:Restoring parameters from /home/yurii/.../second_attempt/model.ckpt
>INFO:tensorflow:Restoring parameters from /home/yurii/.../second_attempt/model.ckpt
>INFO:tensorflow:Running local_init_op.
>INFO:tensorflow:Running local_init_op.
>INFO:tensorflow:Done running local_init_op.
>INFO:tensorflow:Done running local_init_op.
>INFO:tensorflow:Starting Session.
>INFO:tensorflow:Starting Session.
>INFO:tensorflow:Saving checkpoint to path /home/yurii/.../second_attempt/model.ckpt
>INFO:tensorflow:Saving checkpoint to path /home/yurii/.../second_attempt/model.ckpt
>INFO:tensorflow:Starting Queues.
>INFO:tensorflow:Starting Queues.
>Killed
我找到了一些信息,说明问题可能是因为我的机器上缺少RAM。以前我在较小的数据集上训练模型(280个图像用于训练,40个用于测试),一切正常。 那么,大约有多少RAM需要在我的数据集上训练MobileNet? 我使用华硕X555L可用4Gb RAM,GPU是Nvidia GeForce 920M(2Gb,3.5计算容量),CUDA版本是9.0.176,cudnn版本是7.5,tensorflow版本是1.7.0,Nvidia驱动版本是384.130
答案 0 :(得分:1)
也许您可以减少config.py文件中的批处理大小。我正在使用配备4GB Ram和Radeon图形卡的Hp笔记本电脑。当前,对于使用相同ssd_mobilenet_v2的自定义对象检测项目,我的批处理大小设置为4。 / p>