实践本文之前,请确保已经完成下面这个网址3.1之前的操作:
https://github.com/YunYang1994/tensorflow-yolov3
本文主要参考这个网址的3.1 Train raccoon dataset

第一步:

sh scripts/make_raccoon_tfrecords.sh

win10下这个命令无法运行,只有在linux下面才可以,虽然我在window下安装了ubuntu子系统来执行sh命令(不是双系统),但是子系统的terminal也还是不好弄,比如它缺少了一个numpy模块,我终端里apt-get安装了,但是还是没用,所以我只能打开这个sh文件,一步一步执行里面的命令。(我是用的anaconda prompt)
下面解释一下这个文件里的内容:
git clone https://github.com/YunYang1994/raccoon_dataset.git
cat ./raccoon_dataset/labels.txt | head -n  180 > ./raccoon_dataset/train.txt
cat ./raccoon_dataset/labels.txt | tail -n +181 > ./raccoon_dataset/test.txt
python core/convert_tfrecord.py --dataset_txt ./raccoon_dataset/train.txt --tfrecord_path_prefix ./raccoon_dataset/raccoon_train
python core/convert_tfrecord.py --dataset_txt ./raccoon_dataset/test.txt  --tfrecord_path_prefix ./raccoon_dataset/raccoon_test

第一条命令执行后,会下载raccoon_dataset目录,我下载了一个git,然后通过git clone命令下载,那么为什么要通过git而不直接到后面给出的网站下载呢?因为通过git下载会下载完整的分支,在网页直接下载只会下载主干部分,当然你直接下载主干也没问题。

第二条命令就是把raccoon_dataset这个目录下的label.txt文件的从头开始180行复制并粘贴到新生成的的train.txt文件。./表示从当前目录开始。txt文件的每一行是:

xxx/xxx.jpg 55.38 132.63 519.84 380.4 16
# image_path x_min y_min x_max y_max class_id  x_min y_min ... class_id 

(55.38,132.63) 与  (519.84,380.4) 表示用两个像素点的位置围成的框就是标注的16号识别物,16识别物是什么,可以从xxx.names文件里看(实际上是names文件第17行的标识物,因为第一行标识物是0号)。

第三条命令同上,只是从label.txt倒数第一行开始。但是只复制了20行,我也不知道为什么。

第四条命令:--dataset_txt 后面是刚刚生成的train.txt文件,--tfrecord_path_prefix 后面的目录就是存放生成的tfrecord文件,

tfrecord文件就是把图像文件和它的标注打包起来的以供训练的文件。

第五条命令同四,此命令打包的是测试集。

第二步:(可选)

python show_input_image.py
这一步就是展示你的输入的数据,当你训练自己的数据时可以不用运行它。

第三步:(可选)

python kmeans.py

这个文件要调用train.txt和anchors.txt文件,应该是分类标准之类的东西吧,我不是很了解。

第四步:

python convert_weight.py --convert

这里用的是:--convert参数,这一步会生成*.ckpt文件,第六步还会用到这个py文件。

第五步:

python quick_train.py

这一步就是开始训练,需要标识类别文件:*.names、锚重文件:*_anchors.txt,训练打包文件:*_train.tfrecord,测试打包文件:*_test.tfrecord。会生成一个ckpt文件(重要),还有两个不知道用来干什么的train和test目录。

看看这个py文件开始的一些参数:

其中BATCH_SIZE表示将数据打包成几个,当你的显存不够用了(out of range),死机蓝屏或是程序崩溃时要把这个调小。

STEPS表示训练迭代的次数,调得越小,花的时间越少,训练效果越差。

其它的我就不知道了。。。

第六步:(可选)

tensorboard --logdir ./data

这一步就是打开tensorflow的可视化工具看看框架模型,如果打不开的话,参考:

https://blog.csdn.net/dr_theodore/article/details/80748068

https://blog.csdn.net/whitesilence/article/details/79261592

第七步:

python convert_weight.py -cf ./checkpoint/yolov3.ckpt-2500 -nc 1 -ap ./data/raccoon_anchors.txt --freeze

本步会利用上面的ckpt文件生成*cpu_nms.pb和*gpu_nms.pb文件。

第八步:

python quick_test.py

本步就是用两个pb文件来测试。

第九步:

python evaluate.py

测试训练结果,计算mAP识别率,用这个raccoon_dataset我跑得的mAP=0.90左右。

tenforflow版YOLOv3下COCO格式的raccoon(浣熊)数据集的准备(未完待续)相关推荐

  1. Ubuntu下常用但是我容易忘记的命令总结(未完待续)

    写在前面的话 这个主要是写给自己看的,还是用的少了,哎,弱啊. 1.文件的归档处理 1.1 zip命令和unzip命令 zip 命令: $ zip test.zip test.txt 它会将 test ...

  2. 省钱版----查找 IoT 设备TTL线序__未完待续

    作者:仙果 原文来自:省钱版--查找 IoT 设备TTL线序 省钱版----查找 IoT 设备TTL线序__未完待续 缘由 在IoT固件调试分析的过程中,建议首先在IoT设备的板子上焊接调试线,这是能 ...

  3. Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)

    步骤 ssh user@ip-of-linux cd /var/www/ mkdir xiazai.rudon.cn cd xiazai.rudon.cn/ composer create-proje ...

  4. 线下实体店铺会员引流的四种方法-未完待续

    2022年,因为疫情的影响以及电商平台的持续发力,线下门店消费者到店流量明显减少,线下实体门店如何才能通过更低的成本更高的效率进行线下引流呢?这是当下零售企业需要重视的问题. 今天博阳为您介绍4种会员 ...

  5. 将CityScapes数据集转换为COCO格式的实例分割数据集

    ##¥##2019年结束前最后两小时,写出本年度最后一篇博客,不是博主没地方去跨年,实在是Coding乐趣无穷ahhhh ##¥## COCO数据集是研究实例分割的通用数据集,但是针对道路环境的数据较 ...

  6. 计算机网络谢希仁第七版笔记(未完待续)

    一.概述 1.1 计算机网络在信息时代的作用 1.2 互联网概述 Internet(互联网,或因特网)是一个专用名词,指当前全球最大的.开放的.由众多网络相互连接而成的特定互连网 internet是一 ...

  7. 监听系统开屏、锁屏、解锁、按下home键、按下多任务键【未完待续】

    ScreenReceiverUtil工具类 /*** Author : 马占柱* E-mail : mazhanzhu_3351@163.com* Time : 2021/9/22 9:40* Des ...

  8. linux c按行写入文件,Linux c/c++编程-- fputs写数据时,覆盖了下一行的数据(未完待续)...

    问题描述:本来想实现一个功能,替换文本中的特定字符串,例如: name = ricardo version = 19 替换为 name = Billion.Yu version = 19 实现思路:定 ...

  9. asp.net网页版斗地主(当前版本1.0 未完待续 最后更新时间2010-06-21)

    2010-06-21 以上传了,由于进行了整体的重构,耽误了10多天.目前还有BUG未修复,这个只能用与一起交流 基本的选大厅,大厅在线聊天,选择牌桌,抢地主,出牌,牌型验证等逻辑功能和对应的效果都已 ...

最新文章

  1. CSS 单行溢出文本只显示部分内容
  2. 网络游戏,原罪和救赎
  3. 有什么办法动态更改yml的值吗_基于Redis实现Spring Cloud Gateway的动态管理
  4. Javascript事件绑定this
  5. 牛客 牛牛爱喝酒(模拟)
  6. ios沙箱模式开启_iOS沙盒篇
  7. 罗永浩带货520鲜花礼盒再翻车:自掏腰包100多万,双倍赔偿
  8. Sharepoint2013:在页面上显示错误信息
  9. oracle中least()和greastest()函数的使用,其中还包含一些if...then..elseif的使用
  10. MySQL安装及可视化工具使用
  11. 使用Struts标签的基本配置
  12. 20170328_C++程序员必备的20个知识点——部分2
  13. 计算机入门学习编程的建议
  14. 给零基础初学者推荐的10个Python免费学习网站,赶快收藏
  15. 在Win32下使用OpenGL
  16. 数据结构——折半查找法
  17. 我的物联网项目初建团队
  18. 字符串字母大小写转换 --C语言
  19. NSNS小队成立啦!
  20. 耳挂式蓝牙耳机原理_挂脖式蓝牙耳机怎么选,挂脖式蓝牙耳机看看这些品牌

热门文章

  1. 计算机专业扬大vs兰州大学,复试奇怪景象:兰州大学初试前五(400+)都被刷!扬州大学唯一上线也被刷!...
  2. iTOP-4418开发板兼容八核6818开发板介绍
  3. 命令计算机组装机器人,一种计算机组装机器人的制作方法
  4. ros----键盘控制机器人(2)【键盘控制文件书写】
  5. 苹果6s关闭系统定位服务器,苹果手机 定位账号-强势渐显
  6. push推送相关注意事项
  7. vue3从入门到入院
  8. css如何透过上层div点击下层的元素解决方法
  9. 不同国家地铁是如何表达的?
  10. react的行内样式和外链样式