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 BeautifulSoup使用方法详解
Nov 21 Python
python中引用与复制用法实例分析
Jun 04 Python
78行Python代码实现现微信撤回消息功能
Jul 26 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
Python爬虫文件下载图文教程
Dec 23 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
Django的models模型的具体使用
Jul 15 Python
Django文件存储 自己定制存储系统解析
Aug 02 Python
python pygame实现球球大作战
Nov 25 Python
python软件都是免费的吗
Jun 18 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 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 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
python读取csv文件示例(python操作csv)
2014/03/11 Python
用python 制作图片转pdf工具
2015/01/30 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
Python配置文件处理的方法教程
2019/08/29 Python
python如何编写win程序
2020/06/08 Python
Python celery原理及运行流程解析
2020/06/13 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
师范大学应届生求职信
2013/11/21 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL
python运行脚本文件的三种方法实例
2022/06/25 Python