yolo-v1 train和test自己的分类和数据
来源:互联网 发布:centos 超时时间 编辑:程序博客网 时间:2024/06/05 00:25
一.参考文档
https://github.com/Guanghan/darknet
github下面有详细的yolo版本1的详细训练过程。
这里只介绍我们自己的训练过程(只识别“人”这一个类)。
二.训练过程
1.下载数据集voc2007
shell终端
cd ~mkdir vocdatacd vocdatawget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tarwget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tartar xvf VOCtrainval_06-Nov-2007.tartar xvf VOCtest_06-Nov-2007.tar
2.将下好的数据集转为yolo可训练的标签
在darknet/scripts/voc_label.py文件拷贝到~/vocdata目录下,修改voc_label.py
将第7行下面的几行进行修改
sets=[ ('2007', 'train'), ('2007', 'val')]classes = ["person"]
执行voc_label.py即可
可以得到2007_train.txt和2007_train.txt
将2007_train.txt拷贝到/darknet/scripts/目录下
3.修改部分源代码
src/yolo.c
#define CLASSNUM 1 //添加定义image voc_labels[CLASSNUM]; //修改将void test_yolo(char *cfgfile, char *weightfile, char *filename, float thresh)函数里面的调用的draw_detections(im, l.side*l.side*l.n, thresh, boxes, probs, voc_names, voc_labels, CLASSNUM); //最后一个参数修成CLASSNUM修改void run_yolo(int argc, char **argv)函数for(i = 0; i < CLASSNUM; ++i){ //修改成CLASSNUM将开头的char *voc_names[] = {"person"}; //删除其余的类名,只留下person类将void train_yolo(char *cfgfile, char *weightfile)函数中的开头两句的语句进行修改 char *train_images = "/home/user/darknet/scripts/train.txt"; //注意要使用绝对路径 char *backup_directory = "/home/user/darknet/backup"; //绝对路径,还要确保backup文件的存在
src/yolo_kernels.cu
#define CLASS_NUM 1 //添加定义修改void *detect_in_thread(void *ptr)里面的语句draw_detections(det, l.side*l.side*l.n, demo_thresh, boxes, probs, voc_names, voc_labels, CLASS_NUM); //修改最后一个参数
cfg/yolo.cfg
[connected]output= 539 //最后一层的全连接层,output=(5×2+CLASSNUM)×7×7activation=linear[detection]classes=1 //类数
4.开始训练
下载extraction.conv.weights 我们在这上面进行微调
shell终端
./darknet yolo train cfg/yolo.cfg extraction.conv.weights
5.测试
一共训练迭代40000步,服务器一共跑了3天多
shell终端
./darknet yolo demo_vid cfg/yolo.cfg backup/yolo_final.weights ~/video/123.avi
0 0
- yolo-v1 train和test自己的分类和数据
- yolo-darknet实现自己数据的train和test
- yolo-darknet实现自己数据的train和test
- yolo-darknet实现自己数据的train和test
- YOLO(v1)用自己的数据集训练模型
- caffe 跑自己的图像分类任务(2) 之 数据输入文本文件的制作: train.txt, test.txt
- Py-faster-rcnn实现自己的数据train和demo
- Py-faster-rcnn实现自己的数据train和demo
- Py-faster-rcnn实现自己的数据train和demo
- yolo训练自己的数据
- 经典cnn论文使用的数据增强(Train/Test time augmentation)和算法配置摘要
- 【caffe使用记录】caffe的train和test网络model
- 【YOLO学习】使用YOLO v2训练自己的数据
- 【YOLO学习】使用YOLO v2训练自己的数据
- 【YOLO】详解:YOLO-darknet训练自己的数据
- YOLO教程之训练自己的数据
- darknet yolo v2 训练自己的数据
- tiny-yolo 训练自己的数据集
- BZOJ3110: [Zjoi2013]K大数查询
- Linux下的作业管理
- ubuntu14.04配置java开发环境
- 背包_Demo
- BZOJ 1047: [HAOI2007]理想的正方形
- yolo-v1 train和test自己的分类和数据
- Win10下配置Apache Http Server与连接CGI
- 零基础学python之python的变量
- 1026. Table Tennis (30)-PAT甲级真题(模拟)
- Short类型的List contains(Byte.valueOf("1"))的问题
- 【TaoTao】使用JQueryJsonp 完美解决JS跨域问题
- vc++6.0修改字体
- H5访问手机相册与照相上传至服务器
- Win7 Cygwin搭建Cloud9 IDE环境