path manipulation怎么解决_TensorFlow Object Detection API遇到的问题及解决
TensorFlow Object Detection API遇到的问题及解决
教程网址:
Training Custom Object Detectortensorflow-object-detection-api-tutorial.readthedocs.io我按照教程加载的是自己的一个数据集,进行目标检测
下载完成后如下:
Xml文件生成:可以自己写一个简单的脚本实现txt到xml的转换
按照教程进行到了Train这一步,遇到了如下问题:
参考网址:https://stackoverflow.com/questions/54301555/import-error-cannot-import-name-input-reader-pb2
解决方法:
# From tensorflow/models/research/
1.
protoc object_detection/protos/*.proto --python_out=.
1.(or)
wget -O protobuf.zip https://github.com/google/protobuf/releases/download/v3.0.0/protoc-3.0.0-linux-x86_64.zip
unzip protobuf.zip
./bin/protoc object_detection/protos/*.proto --python_out=.
2.
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
3.
python object_detection/builders/model_builder_test.py
完成以上步骤就可以进行正常训练了
训练:(train)
python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/ssd_inception_v2_coco.config.py
(在1整个训练完成后,如要重新训练,train文件夹可能要改动—重建一个文件夹,)
评价:(eval)
方法一:
python eval.py --logtosderr --checkpoint_dir=training/ --eval_dir=eval/ --pipeline_config_path=training/ssd_inception_v2_coco.config.py
(eval文件夹是一个空的文件夹,用来保存输出文件)
可以运行成功,但是该eval貌似只能评估10个images(我第一次测试样本为10个(每类2张),感觉没问题,后来换成100个,出现错误,只读前10个图片,类别为bird,其余检测结果显示为nan)--具体config我没找到怎么改
错误显示如下:
方法二:利用model_main.py(训练加测试一起)
python model_main.py --pipeline_config_path=training/ssd_inception_v2_coco.config.py --model_dir=training/ --num_train_steps=60000 --num_eval_steps=20 --alsologtostderr
(参数根据自己实际更改)—该评价指标采用COCO数据集评价指标。
实际输出结果如下:
测试 (test)
首先要导出模型
python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/ssd_inception_v2_coco.config.py --trained_checkpoint_prefix training/model.ckpt-12000 --output_directory trained-inference-graphs/
之后我用的是test.py,选取了测试集中的一张图片来进行可视化,如下所示:
test.py代码:zigangzhao-ai/TensorFlow-Object-Detection-API
TensorBoard—连接
1.输入 tensorboard --logdir=training
会出现
复制该网址(http://omnisky:6006/)到浏览器即可查看
2.利用windows连接查看
ssh -L 6006:127.0.0.1:6006 -p 1083 zigangzhao@222.20.79.224
在浏览器中输入:127.0.0.1:6006就可以显示了。
代码解读:
参考:
Tensorflow 物体检测(object detection) 之如何构建模型www.manongjc.com TensorFlow Object Detection API 源码(4) 数据集www.zhihu.com训练mask-rcnn可参考:
TensorFlow 训练 Mask R-CNN 模型www.jianshu.com