【问题标题】:Retrain an object detection model - Out of memory (OOM) Killer - Google coral重新训练对象检测模型 - 内存不足 (OOM) 杀手 - Google 珊瑚
【发布时间】:2020-07-23 21:50:21
【问题描述】:

我正在尝试按照以下链接为 Google 珊瑚加速器重新训练对象检测模型

https://coral.ai/docs/edgetpu/retrain-detection/#prerequisites

主机系统基于Linux Mint docker环境

  • CPU : Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz
  • 显卡:显卡:Intel HD Graphics 5500
  • 操作系统:Linux Mint 19 Tara
  • 内存大小:8G

但是在开始训练工作之后

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

进程被OOM杀手杀死

./retrain_detection_model.sh:第 45 行:86 被杀
python object_detection/model_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}"

感谢任何帮助!

【问题讨论】:

  • --batch_size 选项吗?减小 batch_size 需要更少的内存,但会减慢训练速度。你得到了 --batch_size=1 的 OOM 吗?
  • 抱歉,我在 ./retrain_detection_model.sh 中没有看到任何 --batch_size 参数。我对此很陌生,因此不确定是否可以在其他文件中进行修改。

标签: tensorflow google-coral


【解决方案1】:

这是由于硬件限制导致的内存不足问题。您可以做的两件事是添加更多 RAM 或交换空间(将存储用作 RAM)。虽然用后者会很慢。

【讨论】:

  • 谢谢 Nam Vu,我从另一个 stackoverflow 看到了下面的解决方案,但我不知道如何在当前上下文中应用,我在哪里可以编辑,任何帮助“实际上,内存完全使用是由data_augmentation_options ssd_random_crop,所以你可以去掉这个选项并将batch size设置为8或更小,即2,4。当我将batch size设置为1时,我也遇到了一些由nan loss引起的问题。stackoverflow.com/questions/45150773/…
  • 嗨,我是通过电子邮件回复的,但这里有一个简短的摘要供其他人参考:如果您想更改任何参数,您必须登录到 docker 映像并在管道中更改这些参数。配置文件。这个文件应该是 /tensorflow/models/research/configs 目录,以你选择的模型命名。然后您可以尝试更改“batch_size”参数以查看是否有帮助。更改这些参数意味着您需要以更顺序而非并行的方式训练模型。
  • 感谢 Nam Vu,感谢您的努力。
  • 感谢 Nam Vu,感谢您的努力。一个建议:如果您可以使用适当的主机规格更新 Google 珊瑚支持文档,我将对新手有用
  • 嗨,会的,我们现在实际上正在对我们的文档进行很多更改。我会把这个添加到列表中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 2018-05-15
  • 2018-06-11
  • 2020-03-31
  • 2018-05-04
  • 2021-08-04
相关资源
最近更新 更多