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 相关文章推荐
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 Python
深入理解Python中的元类(metaclass)
Feb 14 Python
Django imgareaselect手动剪切头像实现方法
May 26 Python
python实现rsa加密实例详解
Jul 19 Python
python使用super()出现错误解决办法
Aug 14 Python
python requests 使用快速入门
Aug 31 Python
Python中最大最小赋值小技巧(分享)
Dec 23 Python
Python sqlite3查询操作过程解析
Feb 20 Python
django正续或者倒序查库实例
May 19 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 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
php网站地图生成类示例
2014/01/13 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
jQuery过滤选择器用法分析
2015/02/10 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
js实现缓动动画
2020/11/25 Javascript
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
简化Python的Django框架代码的一些示例
2015/04/20 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
python绘制中国大陆人口热力图
2018/11/07 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
Pycharm无法打开双击没反应的问题及解决方案
2020/08/17 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
python基于openpyxl生成excel文件
2020/12/23 Python
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
艺术设计专业个人求职信范文
2013/12/11 职场文书
环境科学专业求职信
2014/08/04 职场文书
解除劳动合同协议书
2014/09/17 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
给女朋友的道歉短信
2015/05/12 职场文书