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 相关文章推荐
centos下更新Python版本的步骤
Feb 12 Python
python+selenium开发环境搭建图文教程
Aug 11 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
Jun 13 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
Python底层封装实现方法详解
Jan 22 Python
python使用Geany编辑器配置方法
Feb 21 Python
Python+redis通过限流保护高并发系统
Apr 15 Python
虚拟机下载python是否需要联网
Jul 27 Python
python中的yield from语法快速学习
Nov 06 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的String类代码
2010/04/20 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
python单元测试unittest实例详解
2015/05/11 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
python 字典操作提取key,value的方法
2019/06/26 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
酒店个人求职信范文
2014/01/25 职场文书
刘胡兰的英雄事迹材料
2014/02/11 职场文书
岗位职责说明书模板
2014/07/30 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
股份转让协议书范本
2015/01/27 职场文书
工会工作个人总结
2015/03/03 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
2015入党自传书范文
2015/06/26 职场文书
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS