使用YOLO框架Darknet进行分类预训练
来源:互联网 发布:知世故而不世故全文 编辑:程序博客网 时间:2024/06/05 09:09
网络上大部分整理的博文都是关于YOLO以及YOLOv2的finetune过程,但由于实际的业务数据的要求,需要得到与之匹配的预训练模型,本文将使用YOLO的网络进行预训练,得到适合自己的分类器。
文章参考链接地址:https://pjreddie.com/darknet/train-cifar/
1、 下载darknet,并进行编译
git clone https://github.com/pjreddie/darknetcd darknetmake
2、获取数据
我使用的是Mnist数据集,由于Mnist数据集是二进制格式的,所以需要先将其转化为.jpg格式的图片,同时将其中的标签数据提取出来。具体提取后的适配于Darknet训练的格式如下:
其中test存放测试图片,train存放训练图片,labels存放类别种类。labels中的格式如下:
0 1 2 3 4 5 6 7 8 9
注意:train文件夹中的每张图片的名字,需要包含label中的标签,比如有张图片属于类别”0”,则这张图片名字可以命名为“0_XXXXX”,其中XXXXX 为任意字符,但不能包含标签中其他类别的字符,否则程序就会当作该图片属于多个类。
将lables.txt改为lables.list,然后还需要train.list文件,这个文件里列出了train文件夹里所有的图片,每一行为一张图片的绝对路径。
/home/yrs/darknet/data/train/0_asdgaega.jpg/home/yrs/darknet/data/train/1_asdgbyel.jpg
3、修改数据配置文件
进入darknet/cfg文件夹,修改imagenet1k.data文件,并保存为mnist.data:
classes=10 //类别数train = data/train.list //训练集列表路径valid = data/valid.list //验证集列表路径backup = /home/yrs/backup/ //用来保存训练结果的路径labels = data/labels.list //标签路径names = data/shortnames.list //训练阶段不使用top=5 //top5准确率
4、修改网络配置文件
还是上一步的文件夹,打开darknet19.cfg,这里列出了主要需要修改的项,并保存为mnist.cfg
[net]batch=128subdivisions=1height=56width=56max_crop=512channels=3momentum=0.9decay=0.0005learning_rate=0.001policy=polypower=4max_batches=10000angle=7hue = .1saturation=.75exposure=.75aspect=.75[convolutional]batch_normalize=1filters=32size=3stride=1pad=1activation=leaky............[convolutional]filters=10 //一定要修改,否则会出错size=1stride=1pad=1activation=linear[avgpool][softmax]groups=1[cost]type=sse
5、训练模型
进入darknet根目录
./darknet classifier train cfg/mnist.data cfg/mnist.cfg
接下来就看到训练过程啦~
2 0
- 使用YOLO框架Darknet进行分类预训练
- 使用darknet训练分类器
- 基于darknet框架的imagenet数据分类预训练
- 基于darknet框架分类器训练
- darknet YOLO 编译使用GPU
- darknet yolo v2 训练自己的数据
- darknet yolo v2 训练自己的数据
- darknet yolo训练自己的数据
- 详解:YOLO-darknet训练自己的数据
- 【YOLO】详解:YOLO-darknet训练自己的数据
- YOLO Darknet
- Yolo-Darknet的安装和使用
- YOLO如何训练分类网络???
- darknet用自己的数据进行训练
- Darknet YOLO 安装配置
- Yolo,darknet配置
- darknet yolo源码解读
- Darknet (一) YOLO 基于 CentOS CPU 的部署使用
- mysql5.7.17安装步骤
- Unity Render Path
- MYSQL
- Effective java笔记-方法
- 献给初学者:谈谈如何学习Linux操作系统
- 使用YOLO框架Darknet进行分类预训练
- 九度OJ题目1194:八进制
- 数学-poj1006 (中国剩余定理)
- 微信H5支付可以实现在非微信浏览器(如QQ浏览器、谷歌浏览器、Safari等)中使用微信支付的场景。
- (转自一位神牛,收藏起来以后留着看)hdu 1540 Tunnel Warfare(线段树区间合并)
- IT技术学习指导之Linux系统入门的4个阶段
- TypeScript中LocalStorage存储和读取Array类型
- 阿里云ubuntu 16.04 Server配置方案 5 SSh脚本命令免密码登录阿里云
- windows下安装jupyter notebook