Tensorflow 重新训练目标检测模型-内存不足(OOM)杀手-谷歌珊瑚

Tensorflow 重新训练目标检测模型-内存不足(OOM)杀手-谷歌珊瑚,tensorflow,google-coral,Tensorflow,Google Coral,我试图根据下面的链接重新训练Google coral accelerator的对象检测模型 主机系统基于Linux Mint和docker环境 CPU:Intel(R)Core(TM)i3-5005U CPU@2.00GHz 图形:卡:英特尔高清图形5500 操作系统:LinuxMint19Tara 内存大小:8G 但是在开始培训工作之后 root@beaa5d65a1d5:/tensorflow/models/research#./retain_detection_model.sh--n

我试图根据下面的链接重新训练Google coral accelerator的对象检测模型

主机系统基于Linux Mint和docker环境

  • CPU:Intel(R)Core(TM)i3-5005U CPU@2.00GHz
  • 图形:卡:英特尔高清图形5500
  • 操作系统:LinuxMint19Tara
  • 内存大小:8G
但是在开始培训工作之后

root@beaa5d65a1d5:/tensorflow/models/research#./retain_detection_model.sh--num_training_steps${num_training_steps}--num_eval_steps${num_eval_steps}

进程被OOM killer终止

./retain\u detection\u model.sh:line 45:86已终止
python对象检测/model\u main.py --pipeline_config_path=“${CKPT_DIR}/pipeline.config”--model_DIR=“${TRAIN_DIR}”--num_TRAIN_steps=“${num_training_steps}”--num_eval_steps=“${num_eval_steps}”


感谢您的帮助

这是由于硬件限制造成的内存不足问题。您可以做的两件事是添加更多RAM或交换空间(将存储用作RAM)。尽管使用后者会非常慢。

是否有
--批处理大小
选项?减小批处理大小需要更少的内存,但会减慢训练速度。您是否得到一个带有
--batch\u size=1
的OOM?对不起,我在./retain\u detection\u model.sh中没有看到任何--batch\u size参数。我对此非常陌生,所以不确定是否可以在其他文件中修改。谢谢你,Nam Vu,我从另一个stackoverflow中看到了下面的解决方案,但我不知道如何在当前上下文中应用,我可以在哪里编辑,有何帮助“实际上,内存完全使用是由数据扩充选项ssd随机裁剪引起的,因此您可以删除此选项并将批大小设置为8或更小,即2,4。当我将batch size设置为1时,我还遇到了一些由nan丢失引起的问题。您好,我通过电子邮件回答了您的问题,但这里有一个简短的摘要供其他人参考:如果您想更改任何参数,您必须登录docker映像并在pipeline.config文件中更改这些参数。此文件应为/tensorflow/models/research/configs目录,以您选择的模型命名。然后您可以尝试更改“batch_size”参数,看看这是否有帮助。更改这些参数意味着您希望以更连续而不是并行的方式训练模型。谢谢Nam Vu,感谢您的努力。谢谢Nam Vu,感谢您的努力。一个建议:如果你能用适当的主机规格更新Google coral支持文档,我将对新手很有用。如果可以的话,我们的文档现在正在经历很多变化。我将把这个添加到列表中。