频道栏目
首页 > 网络 > 云计算 > 正文
利用TensorFlowObjectDetectionAPI训练自己的数据集
2017-06-23 09:34:00         来源:shz_0519的专栏  
收藏   我要投稿

今天终于通过Tensorflow Object Detection API中的faster_rcnn_inception_resnet_v2来训练自己的数据了。

简单记录如下:

这里,安装Tensorflow 和 Tensorflow Object Detection API就不说了.

为了保证训练过程中不修改原API源码目录结构,在其他地方新建了一个文件夹TF-OD-Test:如/home/shz/TF-OD-Test

1、训练数据集准备

在TF-OD-Test目录下新建文件夹data

由于数据集是PASCAL VOC2007格式的,并不符合API所需的TFRecord格式,需要转换,API已经为我们提供了注册送白菜网. 但是这里我们需要做个简单的修改:

create_pascal_tf_record.py第160行 :

examples_path = os.path.join(data_dir, year, &注册送白菜3839;ImageSets&注册送白菜3839;, &注册送白菜3839;Main&注册送白菜3839;, &注册送白菜3839;aeroplane_&注册送白菜3839; + FLAGS.set + &注册送白菜3839;.txt&注册送白菜3839;)

改为:

examples_path = os.path.join(data_dir, year, &注册送白菜3839;ImageSets&注册送白菜3839;, &注册送白菜3839;Main&注册送白菜3839;, FLAGS.set + &注册送白菜3839;.txt&注册送白菜3839;)

然后运行以下命令:

注册送白菜38 From tensorflow/models/object_detection/
python create_pascal_tf_record.py --data_dir=`自己的数据集路径` \
--year=VOC2007 --set=train --output_path=&注册送白菜3839;TF-OD-Test/data/pascal_train.record&注册送白菜3839;
python create_pascal_tf_record.py --data_dir=/home/user/VOCdevkit \
--year=VOC2007 --set=val --output_path=&注册送白菜3839;TF-OD-Test/data/pascal_val.record&注册送白菜3839;

注意,文件data/pascal_label_map.pbtxt中的labels需要改为自己的。

执行后会在TF-OD-Test/data文件夹下生成pascal_train.record和pascal_val.record两个文件。

同时将修改后的pascal_label_map.pbtxt文件拷贝到TF-OD-Test/data目录下。

2、下载预训练模型

在TF-OD-Test目录下新建文件夹models
cd TF-OD-Test/models
wget https://storage.googleapis.com/download.tensorflow.org/models/object_detection/faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017.tar.gz
tar -xvf faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017.tar.gz
cp faster_rcnn_resnet101_coco_11_06_2017/model.ckpt.* TF-OD-Test/models

3、修改配置文件

将文件object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config复制到TF-OD-Test/models并打开做如下修改:

1)num_classes:修改为自己的classes num

2)将所有PATH_TO_BE_CONFIGURED的地方修改为自己之前设置的路径(共5处)

4、训练

终于可以训练了,进入object_detection目录,运行:

python train.py --train_dir=&注册送白菜3839;/home/shz/TF-OD-Test/train&注册送白菜3839; --pipeline_config_path=&注册送白菜3839;/home/shz/TF-OD-Test/models/ssd_mobilenet/ssd_mobilenet_v1_pascal.config&注册送白菜3839;

5、tensorboad:

输入命令:

tensorboard --logdir=/home/shz/TF-OD-Test/train

浏览器中输入https://0.0.0.0:6006,就能看到训练曲线了

点击复制链接 与好友分享!回本站首页
上一篇:Redis事务是原子性的吗
下一篇:hadoop常用命令
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑--致力于做实用的IT技术学习网站

注册送白菜38