win10+tensorflow faster-RCNN 训练自己的数据集

首先,感谢博客上各路大佬的无私奉献!但是也不得不吐槽下,大佬些写博客的时候能尽量写的对小白友好一点吗?期间遇到各种坑,说多了都是泪啊!话不多说,上正题!

环境:win10+anaconda3+tensorflow1.2.1+python3.6,CPU版本。

源码地址:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5

一 下载源码以及源码环境准备

  1. 肯定是下载源码,配置好相应的环境!anaconda prompt下激活tensorflow环境,包括但不限于安装python包(cython,python-opencv,easydict),反正就是提示缺少什么,就install什么就对了!
  2. GitHub上源码提示有“Checkout this branch”这一步,但我没懂什么意思!没照做,但是也训练成功了,有懂得老哥帮忙解释一下!
  3. setup.py文件修改

        在第16行加入以下代码,(别问我为什么,我只是代码的搬运工)

 

    Extension('lib.utils.cython_bbox', sources=['E:/python/tensorflow/Faster-RCNN-TensorFlow-Python3.5-master/lib/utils/bbox.c','E:/python/tensorflow/Faster-RCNN-TensorFlow-Python3.5-master/lib/utils/bbox.pyx'],include_dirs = [np.get_include(), 'E:/python/tensorflow/Faster-RCNN-TensorFlow-Python3.5-master/lib/utils'],extra_compile_args=[])
  1. 承接步骤1,进入到源码的路径下(cd 自己的路径\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI);分别执行下列命令:
    python setup.py build_ext --inplace
    python setup.py build_ext install

    提示:安装VS2015的库,否则会报错 “error: Unable to find vcvarsall.bat”

  2. 用VS2015编译python3.6代码:这一步对于不是python3.5的小伙伴很关键,因为源码是基于python3.5编译,而在python3.6下运行就会报错,所以必须在python3.6环境下重新编译。编译步骤如下:

        1)打开VS2015 X64 本机工具命令提示符;

         

         2)同样激活tensorflow环境(activate tensorflow),进入到源码的路径下(cd 自己的路径\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI),运行:

python setup.py build_ext --inplace;

              会在 “***\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI\lib\utils”目录下生成cython_bbox.cp36-win_amd64.pyd文件,将该文件复制到“***\Faster-RCNN-TensorFlow-Python3.5-master\lib\utils”下。

        5. 这里下载模型VGG16 ,放入“***\Faster-RCNN-TensorFlow-Python3.5-master\data \ imagenet_weights \ vgg16.ckpt”,记得把文件名从“VGG_16”更改为“VGG16”,这儿坑了我不少时间。再次感谢博主---douminan

二 准备训练集

1.labelimg标注数据

labelimg的使用:https://cloud.tencent.com/developer/news/325876

注意:注意标注的时候一定不要用大写,不要有空格,建议全部用小写字母和数字,感谢博主--beyond_xnsx

2.将自己的数据制作成VOC2007的格式

批量命名文件:https://blog.csdn.net/u011574296/article/details/72956446

制作训练集:https://blog.csdn.net/gaohuazhao/article/details/60871886

注意:VOC2007的格式生成如下图所示:

三 源码修改

Faster-RCNN-TensorFlow-Python3.5-master\lib\datasets\pascal_voc.py文件中,将以下代码中的类别替换为自己数据集的类别,如下图所示。至于某些博客说不能删除类别总数,但是经实际测试,删除了也不影响。

        self._classes = ('__background__',  # always index 0'bird','flower', 'horse')

注意:不要更改'__background__',这个是本身自有的,即你有N类检测目标,实际是N+1,多出来的1类就是背景,所以不能删除'__background__'。

Faster-RCNN-TensorFlow-Python3.5-master\lib\config\config.py中修改训练参数,根据自己情况更改哈,博主也是小白,无法作任何指导。

四 训练

哈哈,终于到激动人心的一刻,成功还是继续躺坑里就看这一步了!

继续在anaconda prompt里,激活tensorflow环境,进入到Faster-RCNN-TensorFlow-Python3.5-master根目录下(跟上述一样,用“cd”命令进入哈,根目录就是能看到一个train.py的文件),执行

python train.py

一般不报错进入到训练环节就是对的哈,训练如下所示。

五 后续测试

由于没有训练结束,所以等待后续更新。。。

由于工作方面不再接触这类事件,所以没有后续了。。。抱歉!

 

主要引用下列博客,再次感谢博客大佬们的无私奉献。

https://blog.csdn.net/beyond_xnsx/article/details/79771690

https://blog.csdn.net/weixin_38124357/article/details/80816288

https://blog.csdn.net/douminan/article/details/82223619

https://blog.csdn.net/gaohuazhao/article/details/60871886

https://blog.csdn.net/u011574296/article/details/72956446

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab simulnk笔记07——模块(接地模块group、终止模块terminal、信号合并mux与分解模块demux)

1.接地模块group 2.终止模块terminal 3.信号合并mux 注意:合并仅仅指的是物理上的合并,数学上真正意义上的合并,只是将多个信号放在同一个管道上统一传输给显示终端,但是每个信号之间互不影响,是相

二叉搜索树的插入与删除图解

一、二叉搜索树(BSTree)的概念 二叉搜索树又被称为二叉排序树,那么它本身也是一棵二叉树,那么满足以下性质的二叉树就是二叉搜索树:1、若左子树不为空,则左子树上左右节点的值都小于根节点的值2、若它的右子…

面试总结

lru算法:最近最少使用  1.新数据插入到链表头部;  2.每当缓存命中(即缓存数据被访问),则将数据移到链表头部;  3.当链表满的时候,将链表尾部的数据丢弃。 自定义控件: 1.measu…

win10+anaconda安装tensorflow和keras遇到的坑小结

win10下利用anaconda安装tensorflow和keras的教程都大同小异(针对CPU版本,我的gpu是1050TI的MAX-Q,不知为啥一直没安装成功),下面简单说下步骤。 一 Anaconda安装 一般来说,python选择3.6的,目…

现代制造工程课堂笔记07——应力应变分析(考点应力莫尔圆)

目录 选择判断题,简单计算在莫尔圆那里出 一、单向拉伸中的应力应变 手写笔记 选择判断题,简单计算在莫尔圆那里出 一、单向拉伸中的应力应变 、 手写笔记

win10+tensorflow CPU 部署CTPN环境

刚弄明白CTPN部署的时候,CTPN作者刚更新了简易代码版本,看介绍是把代码优化了不需要多的配置。。。感觉好忧伤! 源码地址:https://github.com/eragonruan/text-detection-ctpn/tree/master 新版本地址:https://githu…

css如何实现背景透明,文字不透明?

之前做了个半透明弹层,但设置背景半透明时,子元素包含的字体及其它元素也都变成了半透明。对opacity这个属性认识的不透彻,在这里做一些总结,方便以后使用。 背景透明,文字不透明的解决方法:为元素添加一个…

是什么时候开始学习gulp了

转自:http://www.ydcss.com/archives/18 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成&#xff1…

matlab GUI——按下按钮在指定的坐标下绘制函数图像

目录 1.组件布局 2.回调函数设置 3.编写回调函数 1.组件布局 2.回调函数设置 右键单击plot按钮——查看回调——call backs

【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)

Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模。团队中的架构师会通过建模确定应用程序是否满足客户的需求。 你可以创建不同级别的详细模型,并将它们彼此结合、测试然后发布到你的开发计划里。 在这个实验中…

深度学习基础(一)起源

目录 一、DP的前世 1.perceptron 2.NN 3.DP 二、DP的基础知识 1.convolution 2.padding 3.pooling 4.Flatten 5.fully connected 6.dropout 一、DP的前世 深度学习发展至今经历颇为曲折,上世纪起源,火热起来也是20世纪初的时候,具体时…

ANSYS经典界面中梁单元实例全解析

转载链接:http://www.jishulink.com/content/post/361389 文中红色部分为自己添加!!! 转载的文章中提到的梁单元截面是常用的工字形,那么要是不规则的截面形状的话需要自己进行截面形状绘制,具体可以参考…

ant的安装和使用

1.ant的安装 1.1 添加环境变量:ANT_HOMED:\software\ant\apache-ant-1.10.1 在path中添加:%ANT_HOME%\bin 1.2 测试是否安装成功 在cmd中输入ant,如果出现如下提示表示安装成功 2.定义简单的build.xml 2.1 创建HelloWord.java package test; …

Language-Directed Hardware Design for Network Performance Monitoring——Marple

网络监控困难 1、仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的。(交换机需要支持网络性能问题的表达语言)2、他们缺乏对网络深处的性能问题进行本地化的可见性,间接推断网络问题的原因3、当前的交换机监控并没有提…

深度学习基础(四)优化函数(梯度下降函数)

梯度下降函数也就是优化函数,在神经网络训练过程最重要的函数。重要程度类似于调校对于汽车的重要性,搭建模型和参数设置等操作“造好了一辆汽车”,优化函数“调校”。因为汽车最终的操控性和加速性能等指标很大程度取决于调校,调…

js 实现 复制 功能 (zeroclipboard)

#复制功能因访问权限和安全问题, 被浏览器禁了# 我要实现的功能:点击复制按钮,复制浏览器的当前页面地址,加上用户选择的参数(用户查找过滤),直接将该链接发给别人,点击打开就是对应…

深度学习基础(二)激活函数

激活函数(也被称为激励函数)的意义就是加入非线性因素,使得神经网络具有非线性表达的能力。其必要条件是激活函数的输入和输出都是可微的,因为神经网络要求处处可微。(可微是指函数的各个方向可导,可微大于等于可导) …

Please ensure that adb is correctly located at……问题解决方案

启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有adb.exe关闭掉.重启eclipse.但试过不管用.所以在外国网站上找到一种可行的方法:1.先把eclipse关闭.2.在管理器转到你的android SDK 的platfor…

2016.8.23

1 贴吧里看到一个关于因为游戏闹翻的故事,大致情况是这样的:某女初中的时候有个闺蜜。后来此人因为抑郁之类的精神问题被送到医院,这让女主很苦闷且脆弱又孤单,这时候她的闺蜜去医院看望她,然后女主就喜欢上了这位闺蜜…