YOLO如何训练分类网络???
一般YOLO的工程应用直接上检测,源自作者提供了分类的预训练模型,但是如果自己改网络训练怎么办?预训练网络没有怎么办?
不怕,两种方法可以解决!
第一种:比较笨的方法,就是下载imagenet数据训练分类网络!
第二种:一层一层的改网路,每改一层,在原有预训练的条件下训练网络,生成新的模型时作为下一次修改网络的预训练模型!说的好像不是很清楚额,这个问题以后讨论!
今天讨论如何用yolo训练自己的分类模型!可见我们一般的分类工程都是通过caffe来做的,YOLO其实可以替代的,而且yolo是纯c,有着不可替代的优点!加上OpenBlas,效果不要太好了!
第一步:yolo配置
这个在本博文不提了,可参考我的系列博客http://blog.csdn.net/samylee/article/details/53414108
第二步:数据制作
没啥特殊要求,如下图所示,train保存训练图片,test保存测试图片,labels.txt为分类的标签,例如猫狗大战则为cat和dog!
注意一点就行,即图片名称为labels.txt中的一种,例如cat_1.jpg,cat为labels中的一种,后面_1随便写,只要没有dog就行!(WHY?全局搜索strstr函数即可豁然开朗)
同时要分别生成train.list和test.list保存图片train和test的绝对路径,这个程序可以自己写一下啦,很简单!
第三步:数据配置文件制作
例如猫狗大战数据,cat_dog.data怎么写?如下:
classes=2
train = data/cat_dog/train.list
valid = data/cat_dog/test.list
labels = data/cat_dog/labels.txt
backup = cat_dog/backup/
top=2
很明显,classes表示几类,labels表示标签路径,backup表示要把模型存放在哪里,top表示准确率输出前几,类似caffe!
第四步:网络文件制作
cat_dog.cfg怎么写?如下:
[net]
batch=128
subdivisions=1
height=416
width=416
channels=3
max_crop=428
min_crop=428hue=.1
saturation=.75
exposure=.75learning_rate=0.1
policy=poly
power=4
max_batches = 5000
momentum=0.9
decay=0.0005[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky[maxpool]
size=2
stride=2[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky[maxpool]
size=2
stride=2[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky[convolutional]
filters=2
size=1
stride=1
pad=1
activation=leaky[avgpool][softmax]
groups=1[cost]
type=sse
很明显,max_crop表示原始图像大小,heights和weights表示剪切图像大小,最后一层conv输出为几类,这里比如猫狗为2!
第五步:训练
到了这一步,很舒服!终端写入如下命令即可:
./darknet classifier train cfg/cat_dog.data cfg/cat_dog.cfg
训练过程看啥呢?看loss,loss应该越来越小,最后趋于平稳!
第六步:测试
训练完毕过后,拿出训练结果的模型来测试,真皮!终端输入如下命令即可:
./darknet classifier predict cfg/cat_dog.data cfg/cat_dog.cfg cat_dog_final.weights data/dog.jpg
结束啦,终端可以看到输出两个结果(top=2),第一个即为判断的结果啦!
任何问题请加唯一QQ2258205918(名称samylee) !!!
或唯一VX:samylee_csdn
YOLO如何训练分类网络???相关推荐
- 使用Mini-ImageNet训练分类网络
文章目录 数据集下载链接 数据集简介 制作新的train以及val文件 训练自己的网络 数据集下载链接 百度网盘下载: 链接: https://pan.baidu.com/s/1Uro6RuEbRGG ...
- 【代码实验】CNN实验——利用Imagenet子集训练分类网络(AlexNet/ResNet)
文章目录 前言 一.数据准备 二.训练 三.结果 前言 Imagenet是计算机视觉的经典分类比赛,但是Imagenet数据集本身太大了,我们穷学生没有这么大的算力,2016年google DeepM ...
- tictoc正方形网络模型_Trick | 分类网络Trick大汇总
本文介绍了训练分类网络的各个阶段可以用来提升性能的Trick,也就是俗称的调参术.结果顶级调参术的调教,ResNet- 50的top-1验证精度在ImageNet上从75.3%提高到79.29%.这个 ...
- Caffe实践】如何利用Caffe训练ImageNet分类网络
Caffe实践]如何利用Caffe训练ImageNet分类网络 源文章:https://github.com/BVLC/caffe/tree/master/examples/imagenet 由于要使 ...
- YOLO模型 训练及预测
YOLO模型介绍 目录 [隐藏] 1简介 2核心思想 3YOLO代价函数 4网络实现 4.1标签定义 4.2网络定义 5网络训练 6网络预测 简介 YOLO为一种新的目标检测方法,该方法的特点是实现快 ...
- 3—YOLO:训练自己的数据
YOLO: Real-Time Object Detection:https://pjreddie.com/darknet/yolo/ YOLO模型训练可视化训练过程中的中间参数:http://blo ...
- MTCNN-tensorflow源码解析之训练PNet网络-train_PNet.py
tfrecords文件存放在文件 "../../DATA/imglists/PNet/train_PNet_landmark.tfrecord_shuffle中,接下来用它来训练PNet网络 ...
- 迁移学习实战 | 快速训练残差网络 ResNet-101,完成图像分类与预测,精度高达 98%!...
作者 | AI 菌 出品 | CSDN博客 头图 | CSDN付费下载自视觉中国 前言 笔者在实现ResNet的过程中,由于电脑性能原因,不得不选择层数较少的ResNet-18进行训练.但是很快发现, ...
- yolov8 做图片分类和 ResNet Efficientnet 等常用分类网络的对比
文章大纲 yolo v8 图片分类 简介与原理说明 训练代码 数据集的组织 多尺度训练 参考内容 ResNet 简介与原理说明 训练代码与使用说明 Usage EfficientNet 推理代码 其他 ...
最新文章
- 用OpenCV玩《铁拳》!!!
- 蓝桥杯知识点归纳-java-API
- Microservice Anti-patterns
- Apache Ant 1.9.13和1.10.5发布–支持Java 11单文件源程序
- [渝粤教育] 西南科技大学 电子设计EDA 在线考试复习资料
- php配置文件加载顺序,php extension 加载顺序问题
- C语言入坑指南-数组之谜
- 数据测试风控中的几类应用场景
- django数据库增删改查操作
- lintcode刷题——左叶子的和
- 海康威视-海康门禁设备对接SDK-已完成完整封装调用
- 跟着鹏哥学C语言第一天
- Hazelcast 集群
- Unity_回合制战斗系统_01
- Pooling Revisited: Your Receptive Field is Suboptimal
- 满二叉树 / 真二叉树 / 完全二叉树 ~
- 数据挖掘之关联规则分析
- 一套Python入门视频
- ubuntu安装zsh及环境配置
- 赢在测试2:中国软件测试专家访谈录