TensorFlow 对象检测 API 没有 train.py 文件
Posted
技术标签:
【中文标题】TensorFlow 对象检测 API 没有 train.py 文件【英文标题】:Tensorflow Object Detection API no train.py file 【发布时间】:2018-12-26 13:08:09 【问题描述】:我已根据提供的文档正确安装了 Tensorflow 对象检测 API。但是,当我需要训练我的网络时,research/object_detection 目录中没有 train.py 文件。 有什么办法可以解决这个问题吗?
链接:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md
【问题讨论】:
你可以用这个fix显示损失。 【参考方案1】:为了澄清一下,正如 Derek Chow 所提到的,训练和评估 python 脚本似乎最近(大约 6 天前)移到了“遗留”目录中。 假设您想继续使用旧方式..
如果一个人是通过调用来开始训练的:
python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/ssd_mobilenet_v1_pets.config
一个人会知道通过调用开始训练:
python legacy/train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/ssd_mobilenet_v1_pets.config
【讨论】:
谢谢。关键是我运行了 model_main 新脚本,但它似乎没有在控制台上显示损失。使用之前的脚本 (train.py) 我可以在控制台上清楚地看到类似的内容: step n -- loss: 2.5312 step n+1 --loss: 2.5310【参考方案2】:你应该参考Running locally 教程页面上的部分。
这是示例配置:
#From the tensorflow/models/research/ directory
PIPELINE_CONFIG_PATH=path to pipeline config file
MODEL_DIR=path to model directory
NUM_TRAIN_STEPS=50000
NUM_EVAL_STEPS=2000
python object_detection/model_main.py \
--pipeline_config_path=$PIPELINE_CONFIG_PATH \
--model_dir=$MODEL_DIR \
--num_train_steps=$NUM_TRAIN_STEPS \
--num_eval_steps=$NUM_EVAL_STEPS \
--alsologtostderr
并运行张量板:
tensorboard --logdir=$MODEL_DIR
【讨论】:
你是说model_main.py 既训练又评估?如果我因为需要监督学习阶段而想单独运行它们怎么办?【参考方案3】:在最新的合并中,train 和 eval 移动到了 legacy 目录。如果您使用教程,则可以转到以前的版本。
【讨论】:
【参考方案4】:您可以使用 legacy 训练和评估脚本,但我们建议使用 model_main。
【讨论】:
新的model_main脚本在控制台不显示loss正常吗?还是 mt tf 配置有问题? 您应该会看到由 model_main 生成的事件文件。在 tensorboard 中可视化这些以查看训练损失。 这是真的 Derek,但不是在每一步都生成 tf 事件。它们每 50-70 步记录一次。这就是为什么在控制台上打印损失值很有用。 你好 Derek,当使用 model_main.py 时,我们可以在哪里修改以在控制台上显示损失值?谢谢你,贾科莫,问这个问题。 我也有同样的关于损失的问题,仍在等待任何人的回答。以上是关于TensorFlow 对象检测 API 没有 train.py 文件的主要内容,如果未能解决你的问题,请参考以下文章
没有这样的选项:安装 tensorflow 对象检测 api 时的 --use-feature
我应该包含 Tensorflow 对象检测 API 的负面示例吗?