Windows下实现将Pascal VOC转化为TFRecords


Posted in Python onFebruary 17, 2020

前言

由于TensorFlow常用TFrecords作为输入格式,我们需要将制作好的Pascal VOC转为TFrecords格式。使用 object detection API 内提供的脚本。

TFRecords格式如下:

-uint64 length

-uint32 masked_crc32_of_length

-byte data[length]

-uint32 masked_crc32_of_data

前置要求:

Anaconda3(使用python3.x)

制作好的Pascal VOC数据集

1、配置protobuf

Google的protobuf是一种轻便高效的结构化数据存储格式,结构扩展性高,速度快,密度大。我们下载对应的protoc-3.4.0-win32.zip版本。解压之后的文件内容如下:

Windows下实现将Pascal VOC转化为TFRecords

将bin文件夹所在路径添加到环境变量PATH,再将bin下的protoc.exe移动到C:\Windows\System32目录下。

cmd下进入~models/reseach目录下,输入:

protoc object_detection/protos/*.proto --python_out=.

2、设置搜索路径

Windows下的API使用时会出现图示bug,需要创建xx.pth文件,将以下两条路径添加进去:

~\models\research

~\models\research\slim

接着,将pth文件移动到python安装目录的site-packages下。

Windows下实现将Pascal VOC转化为TFRecords

最后,我们利用cmd运行model_builder_test.py文件,测试环境是否搭建成功。

Windows下实现将Pascal VOC转化为TFRecords

3、修改pascal_label_map.pbtxt

打开~models/research/object_detection/data/pascal_label_map.pbtxt,修改其中的name为自己的分类名。

如图所示,这里我要识别分类的是图片数字0~3,所以修改了对应的name。

Windows下实现将Pascal VOC转化为TFRecords

4、修改create_pascal_tf_record.py文件

(1)47行:根据自己的VOC数据集格式,修改年份,如果是2007,则保持默认;

(2)49行:将data/pascal_label_map.pbtxt改为绝对路径

(3)81行:改为img_path = os.path.join('JPEGImages', data['filename'])

(4)82行:改为full_path =os.path.join(dataset_directory, 'VOC2012',img_path+'.jpg')

(5)163行 : 改为examples_path =os.path.join(data_dir, year, 'ImageSets', 'Main','xx' + FLAGES.set + '.txt')

xx里的内容是~VOCdevkit\VOC2012\ImageSets\Main目录下的文件前缀名称,如果没有,留空就可以。

5、运行

cmd下输入:

python ~/models/research/object_detection/dataset_tools/create_pascal_tf_record.py\

--data_dir=~/VOCdevkit \

--year=VOC2012 \

--output_path=~/xx.record

其中,波浪线的地方分别为自己的py文件位置、VOC数据位置、转换的record文件存储位置。

注:

1、protoc必须使用3.4版本而非3.5,否则会出现找不到*.proto的bug;

2、运行时出现很多bug,根据bug一步一步回推代码修改。

以上这篇Windows下实现将Pascal VOC转化为TFRecords就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中的__new__()方法的使用
Apr 09 Python
Python ftp上传文件
Feb 13 Python
python使用RNN实现文本分类
May 24 Python
python读取文件名并改名字的实例
Jan 07 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
Python collections中的双向队列deque简单介绍详解
Nov 04 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
Python常用GUI框架原理解析汇总
Dec 07 Python
tensorflow生成多个tfrecord文件实例
Feb 17 #Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
Feb 17 #Python
Python 读取有公式cell的结果内容实例方法
Feb 17 #Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 #Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
Feb 17 #Python
将自己的数据集制作成TFRecord格式教程
Feb 17 #Python
tensorflow 实现数据类型转换
Feb 17 #Python
You might like
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
js style动态设置table高度
2014/10/21 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
大学生学习2014全国两会心得体会
2014/03/13 职场文书
推荐信怎么写
2014/05/09 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
青年联谊会致辞
2015/07/31 职场文书
小学语文国培研修日志
2015/11/13 职场文书
宣传委员竞选稿
2015/11/19 职场文书