python - Tensorflow 对象检测 API 训练和导出图

标签 python tensorflow deep-learning object-detection object-detection-api

我遇到以下问题:当我使用自己的数据集重新训练 TF 对象检测 API 时,训练经常被终止,我不知道原因。没有错误日志,只是被杀死。 而且,为什么我的MODEL_DIR中只保存了很少的model.ckpt-XXXX

其次,当我尝试使用提供的脚本将上述模型导出到卡住图时,我在分析中看到形状不完整:

================== Model Analysis Report ======================
Incomplete shape.

我在训练过程被杀死后使用了model.cpkt-XXXX,这是形状不完整的原因吗?

导出的模型可以用于推理,但我认为它不是最佳的......

仅供引用,我已经用 1 个类重新训练了 mobileSSDv2,并且我已经修改了有关更改的管道配置文件,如下所示:

  • 我将类(class)数量更改为 1
  • 在 train config {} 部分,我将批量大小更改为 12,并将步数设置为 200
  • train_input_readereval_input_reader {} 部分,我已将路径添加到 TF 记录和 labelmap.pbtxt
  • eval_config {} 部分,我已将示例数量更改为 85(我的 eval 图像存储库中的图片数量),并将最大 eval 更改为 5。

我在带有 python 2.7 的 virtualenv 中使用带有 tensoflow-GPU 1.12.0 的 ubuntu 16.04。

提前谢谢您。

最佳答案

如果您使用的是tensorflow-gpu并且您有一个GPU,200是一个非常低的数字,您在几分钟内就可以达到(并且您的卷积网络将不会学到任何东西)。至少将其增加到 100.000。

此外,由于训练步骤数量较少,您可能希望训练在开始(第 0 步)和结束训练(第 200 步)时保存模型,因此您只得到 2 个模型。

如果您不更改 trainer.py 内的save_interval_secs,Tensorflow 每 600 秒保存一次模型

关于python - Tensorflow 对象检测 API 训练和导出图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54529010/

相关文章:

python - subprocess.call() 中的 Pytest 模拟全局变量

c++ - TensorFlow C++ "NOLINT(build/namespaces)"是什么意思?

python - 模块未找到错误 : No module named 'tensorflow.examples'

python - 使用 Keras 绘制学习率的准确度时,Matplotlib 返回空图

python - 有没有找到当前单元格值定义的最后一行的最佳方法?

python - 有什么方法可以将 Scapy Packet 中的字段链接到构建的 str 中的部分吗?

keras - Unet : Multi Class Image Segmentation

python - tensorflow.pad 是如何工作的?

python - 相当于 pyGTK 中的 "weight"参数?

python - 如何修复属性错误: module 'tensorflow' has no attribute 'reset_default_graph'