Ubuntu16.04下新版Tensorflow object_detection api使用教程

版权声明:转载请注明来源,谢谢。 https://blog.csdn.net/luke_sanjayzzzhong/article/details/89288074

Tensorflow object_detection api 使用教程

0.前言

实验室里有项目要开始搞,要用到目标检测的方法。所以在这里记录一下搭建的环境以及训练的过程。基于Ubuntu16.04 64位操作系统,GTX Titan X(12g) GPU训练的。
详细的步骤可以到我的个人博客去看:我的博客

1.数据准备

2. 下载object detection的api

  • 运行生成CSV脚本(略)
  • .../models/reseach/object_detection/目录下运行generate_TFR.py文件:
    python generate_TFR.py --csv_input=data/train_data.csv --output_path=data/train_data.record
    然后改一下代码,继续:
    python generate_TFR.py --csv_input=data/test_data.csv --output_path=data/test_data.record

3.训练

依旧是在.../models/reseach/目录下,打开终端,输入如下命令:

python object_detection/model_main.py \
    --pipeline_config_path=object_detection/manhole_rfcn/rfcn_resnet101_coco.config \
    --model_dir=object_detection/manhole_rfcn/  \
    --num_train_steps=50000 \
    --sample_1_of_n_eval_examples=1  \
    --alsologtostderr

如果没有出错,等一会儿就可以看到在迭代了。

如果要两块卡一起跑起来,做了如下修改,

  • 在model_train.py中增加了如下语句:

    # 这里加入代码让两块gpu一起跑起来,显卡序号是0和1,看显卡详情可以在cmd中输入nvidia-smi
    os.environ['CUDA_VISIABLE_DEVICES']='0,1'
    
  • 或者命令后面加--num_clones=2 --ps_tasks=1:

训练过程中,可以用tensorboard来观察训练情况,具体操作是在object_detection目录下打开命令行,输入:

tensorboard --logdir=training
就会出来地址,复制地址到浏览器便可以打开,如果不行的话,地址可以改为:localhost:6006,想必应该可以了。

4.导出模型并测试

待训练完毕后,还是在object_detection目录下打开命令行,输入:

扫描二维码关注公众号,回复: 6014898 查看本文章
python export_inference_graph.py  --input_type image_tensor  --pipeline_config_path training_meter/ssd_mobilenet_v2_coco.config  --trained_checkpoint_prefix training_meter/model.ckpt-200000  --output_directory meter_inference_graph

其中,--trained_checkpoint_prefix training_meter/model.ckpt-200000 --output_directory meter_inference_graph中的model.ckpt-200000要你自己去training_meter文件夹中找一个最大的数字(不是最大也可以),然后更改,meter_inference_graph可以将meter改成别的。

运行之后,在object_detection目录下就出现了一个文件夹meter_inference_graph

将要测试的图片放到object_detection下的test_images下,不过记得先清空里面的文件。

接下来便是测试,同样是在object_detection目录下创建一个.ipynb文件,并在这个目录下打开cmd然后打开jupyter notebook,打开.ipynb文件,笔者的命名为meter_detection.ipynb,具体的代码可以从这里看:meter_detection.ipynb,然后根据注释相应改一下就会出来结果了。

5. 将训练好的模型移植到手机上

6. 参考资料

  1. 目标检测Tensorflow object detection API之构建自己的模型
  2. Tensorflow object detection API 搭建属于自己的物体识别模型(2)——训练并使用自己的模型
  3. 深度学习环境搭建-CUDA9.0、cudnn7.3、tensorflow_gpu1.10的安装
  4. 目标检测第1步-运行tensorflow官方示例
  5. 目标检测第2步-数据准备
  6. 目标检测第3步-模型训练
  7. 目标检测第4步-模型测试
  8. TensorFlow Object Detection API 使用多个GPU

猜你喜欢

转载自blog.csdn.net/luke_sanjayzzzhong/article/details/89288074