6,voc数据集训练模型

1)下载数据集

官网提供一些voc数据,是基于2007年到2012年的,你可以通过以下地址下载到:

wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
tar xf VOCtrainval_11-May-.tar
tar xf VOCtrainval_06-Nov-.tar
tar xf VOCtest_06-Nov-.tar

可以把数据存放到VOCdevkit/目录下

2)生成识别标签

识别标签必须是.txt文件的,具体格式如下:

<object-class> <x> <y> <width> <height>

Object-class 是分类的名称

其余元素是关联到图片的像素,宽和高的

通过下载官网提供的voc_label.py 我们可以快速的生成这一个文件,把他下载到scripts/目录下:

wget https://pjreddie.com/media/files/voc_label.py
python voc_label.py

几分钟后,就会生成相应的文件存放到:

VOCdevkit/VOC2007/labels/ 或者 VOCdevkit/VOC2012/labels/下面:

ls
2007_test.txt VOCdevkit
2007_train.txt voc_label.py
2007_val.txt VOCtest_06-Nov-.tar
2012_train.txt VOCtrainval_06-Nov-.tar
2012_val.txt VOCtrainval_11-May-.tar

我们可以把自己真正要训练的文件合并成一个:

cat 2007_train.txt 2007_val.txt 2012_*.txt > train.txt

3)修改配置指向的数据(Pascal Data)

在cfg/voc.data里配置数据的指向:

 classes=
train = <path-to-voc>/train.txt
valid = <path-to-voc>2007_test.txt
names = data/voc.names
backup = backup

<path-to-voc> 就是你数据集的指向

4)下载预训练的卷积的权重

这里用到卷积的权重是imageNet预训练提供:

wget https://pjreddie.com/media/files/darknet19_448.conv.23

你也可以通过下载预训练的Darknet19 448x448 model(https://pjreddie.com/darknet/imagenet/#darknet19_448) 模型来产生你自己的权重,执行下面的命名:

./darknet partial cfg/darknet19_448.cfg darknet19_448.weights darknet19_448.conv. 

5)训练模型

./darknet detector train cfg/voc.data cfg/yolo-voc.cfg darknet19_448.conv.

7,用coco 训练yolo模型

Coco数据集,我没有用过,具体可以查看http://cocodataset.org/#overview 了解一下

1)获取coco数据集

下载coco的数据集和标签,可直接通过scripts/get_coco_dataset.sh脚本执行:

cp scripts/get_coco_dataset.sh data
cd data
bash get_coco_dataset.sh

这样标签和数据集都有了。

2)配置数据集的指向

在cfg/coco.data配置文件里配置:

 classes=
train = <path-to-coco>/trainvalno5k.txt
valid = <path-to-coco>/5k.txt
names = data/coco.names
backup = backup

<path-to-coco>是你的具体路径指向

另外还需要配置你数据集是用于训练不是测试的,默认是测试的配置,在cfg/yolo.cfg:

[net]
# Testing
# batch=
# subdivisions=
# Training
batch=
subdivisions=
....

3)训练模型

./darknet detector train cfg/coco.data cfg/yolo.cfg darknet19_448.conv.

4)启用gpus执行训练,加速

./darknet detector train cfg/coco.data cfg/yolo.cfg darknet19_448.conv. -gpus ,,,

5)训练暂停或者从断点开始训练

./darknet detector train cfg/coco.data cfg/yolo.cfg backup/yolo.backup -gpus ,,,

8,官方特别声明的

如果你使用他们的框架,必须在注释里说明框架来源,可以直接在注释里粘入下面的注释:

@article{redmon2016yolo9000,
title={YOLO9000: Better, Faster, Stronger},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1612.08242},
year={}
}

参考地址:https://pjreddie.com/darknet/yolo/

论文地址 :https://arxiv.org/abs/1612.08242

yolo算法框架使用二的更多相关文章

  1. YOLO 算法框架的使用一(初级)

    YOLO官方框架使用C写的,性能杠杠的,YOLO算法,我就不做过多介绍了.先简单介绍一下这个框架如何使用.这里默认是yolo2,yolo1接近过时.环境 推荐ubuntu 或者centos YOLO是 ...

  2. 第三十五节,目标检测之YOLO算法详解

    Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object de ...

  3. Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解

    Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全   Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...

  4. [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...

  5. 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架

    目录 分为两个部分,笔者看到的知识图谱在商业领域的应用,外加看到的一些算法框架与研究机构. 文章目录 @ 一.知识图谱商业应用 01 唯品金融大数据 02 PlantData知识图谱数据智能平台 03 ...

  6. 7、滑动窗口套路算法框架——Go语言版

    前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...

  7. MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)

    前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...

  8. JavaScript 框架设计(二)

    JavaScript 高级框架设计 (二) 上一篇,JavaScript高级框架设计(一)我们 实现了对tag标签的选择 下来我们实现对id的选择,即id选择器. 我们将上一篇的get命名为getTa ...

  9. 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示

    前言 NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能.这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2.而Netty的主要版本是Netty3和Netty ...

随机推荐

  1. win中使用cmd杀端口

    最近在win开发时,总是遇到端口占用的情况...可能是跑的程序太多了吧 当你测试一个demo时遇到这个就很恶心.. 记一下 netstat -ano | findstr 80 //列出进程极其占用的端 ...

  2. MyISAM和innoDB对比,覆盖索引简单回顾

    MyISAM Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam. 它不支持事务,也不支持外键,尤其是访问速度快,对事务完整性没有要求或者以 ...

  3. Connection:Keep-alive

    名词解释: HTTP无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态.从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系 如果你要实现一个购 ...

  4. struts2 标签使用注意

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qilixiang012/article/details/31954501 通常是用html标签.而不 ...

  5. Day7 Tomcat和servlet

    web服务器 1)        什么是web服务器 硬件:性能强大的计算机(无显示屏) 操作系统: linux 软件:web服务器软件(将数据放置在服务器上就可以被外部访问) web应用程序 2)  ...

  6. 在任务管理器中显示所有CPU内核性能

    在Windows7"任务管理器"的”性能“选项卡默认显示所有的CPU内核性能 在Windows10中可以通过设置来实现效果

  7. 基于swoole的聊天室模型

    client.html: <!doctype html><html><head> <meta charset="utf-8"> &l ...

  8. python基础整理7——爬虫——爬虫开发工具

    HTTP代理神器Fiddler Fiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP请求. Fiddler启动的时候,默认IE的代理设为了127.0.0.1:8888,而其他浏 ...

  9. pip问题解决方案

    错误信息:usr/bin/pip: No such file or directory 解决办法(一共四步,按照下面的步骤来从1到4,最后你会发现问题都解决了): 1.which pip /usr/l ...

  10. 700. Search in a Binary Search Tree

    # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = ...