我有以下问题:当我用自己的数据集重新训练TF对象检测API时,训练常常被取消,我不知道原因。没有错误日志,只是被杀死。
此外,为什么在我的MODEL_DIR
中只保存了很少的model.ckpt-XXXX
?
第二,当我尝试使用提供的脚本将上述模型导出到冻结图时,我在分析中发现形状不完整:
================== Model Analysis Report ======================
Incomplete shape.
训练过程被杀死后,我使用了model.cpkt-XXXX
,这是形状不完整的原因吗?
导出的模型可以用于推理,但我想这不是最佳选择...
仅供参考,我对mobileSSDv2进行了1类培训,并且针对以下更改对管道配置文件进行了修改:
config {}
部分中,我将批量大小更改为12,并将步数更改为200 train_input_reader
和eval_input_reader {}
部分,我已将路径添加到TF记录和labelmap.pbtxt
eval_config {}
部分,我将示例数更改为85(我的评估图像存储库中的图片数),并将最大评估数更改为5。我在带有python 2.7的virtualenv中将ubuntu 16.04与tensoflow-GPU 1.12.0一起使用。
谢谢。
答案 0 :(得分:0)
如果您使用的是tensorflow-gpu,并且拥有GPU,则 200确实是一个非常低的数字,您可以在短短的几分钟之内达到目标(并且您的conv-net不会学到任何东西)。至少增加到100.000。
此外,由于训练步骤数量少,您可能希望训练在开始(步骤0)和结束训练(步骤200)时保存您的模型,所以您只能得到2个模型。
如果不更改 trainer.py
中的 save_interval_secs ,Tensorflow每600秒保存一次模型