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中的rfind()方法使用详解
May 19 Python
Python多线程经典问题之乘客做公交车算法实例
Mar 22 Python
python基本语法练习实例
Sep 19 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
Python实现的各种常见分布算法示例
Dec 13 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
python pandas模块基础学习详解
Jul 03 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
给你一面国旗 教你用python画中国国旗
Sep 24 Python
python创建n行m列数组示例
Dec 02 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 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
PHP入门速成教程
2007/03/19 PHP
PHP静态新闻列表自动生成代码
2007/06/14 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
Pytorch 使用不同版本的cuda的方法步骤
2020/04/02 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
SQL SERVER面试资料
2013/03/30 面试题
高中生学习总结的自我评价范文
2013/10/13 职场文书
我的长生果教学反思
2014/04/28 职场文书
现场活动策划方案
2014/08/22 职场文书
党员公开承诺书2015
2015/01/21 职场文书
加入学生会自荐书
2015/03/05 职场文书
记者节感言
2015/08/03 职场文书
html form表单基础入门案例讲解
2021/07/15 HTML / CSS
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技