darknet本来最开始学的是https://github.com/pjreddie/darknet yolo3作者自己开发的,但是它很久不更新了而且mAP值不好观察,于是另外有个https://github.com/AlexeyAB/darknet fork了它,然后在它上面给出了更精彩的实现,比如支持windows,还有改了一些bug,以及最重要支持训练时候mAP图形化观察

我的远程服务器操作系统是Linux

1. git clone https://github.com/AlexeyAB/darknet.git

完成后然后打开Makefile ,改编译选项,我改的是 这个样子,支持GPU,CUDNN,OPENCV。有的nvcc没加入到路径就也要设置nvcc的路径

然后用命令行 : make  完成编译

2.下载voc数据,如下

再如下:

这样就制作好了darknet需要的数据集,然后设置好路径:

以及修改 cfg/yolo3-voc.cfg里面的batch以及subdivisions为训练所需要的数据

再下载预训练的模型:

然后使用命令:

./darknet -i 3 detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74 -dont_show -mjpeg_port 8090 -map     (注: -i 3 是指我使用了第3块GPU,默认的话是第0块)

来训练并且观察mAP的结果,可以打开chrome或者firefox浏览器输入:http://ip-host:8090来观察loss曲线和mAP的结果

最后训练的weight数据保存在了darknet/backup文件夹下面

训练的命令:

./darknet detector train -i 3 train data/instrument.data cfg/yolov3-instrument.cfg darknet53.conv.74 -dont_show -mjpeg_port 8090 -map

检测一张图的命令:

./darknet detector test data/instrument.data cfg/yolov3-instrument.cfg instrument/yolov3-instrument_best.weights /home/linxi/TrainFasterR-CNN/YOLO3/AlexeyAB/VOCdevkit/VOC2007/JPEGImages/10000190383.jpg -i 3

修改代码(https://github.com/AlexeyAB/darknet/issues/1396)后检测一系列图片的命令:

./darknet detector test data/instrument.data cfg/yolov3-instrument.cfg instrument/yolov3-instrument_best.weights -i 3 -dont_show <2007_test.txt> result.txt

yolo3使用darknet卷积神经网络训练pascal voc的更多相关文章

  1. 吴裕雄 python 神经网络——TensorFlow 使用卷积神经网络训练和预测MNIST手写数据集

    import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_dat ...

  2. 跟我学算法- tensorflow 卷积神经网络训练验证码

    使用captcha.image.Image 生成随机验证码,随机生成的验证码为0到9的数字,验证码有4位数字组成,这是一个自己生成验证码,自己不断训练的模型 使用三层卷积层,三层池化层,二层全连接层来 ...

  3. mxnet卷积神经网络训练MNIST数据集测试

    mxnet框架下超全手写字体识别—从数据预处理到网络的训练—模型及日志的保存 import numpy as np import mxnet as mx import logging logging. ...

  4. 【Tensorflow】 Object_detection之训练PASCAL VOC数据集

    参考:Running Locally 1.检查数据.config文件是否配置好 可参考之前博客: Tensorflow Object_detection之配置Training Pipeline Ten ...

  5. 奉献pytorch 搭建 CNN 卷积神经网络训练图像识别的模型,配合numpy 和matplotlib 一起使用调用 cuda GPU进行加速训练

    1.Torch构建简单的模型 # coding:utf-8 import torch class Net(torch.nn.Module): def __init__(self,img_rgb=3,i ...

  6. Win10 + YOLOv3训练VOC数据集-----How to train Pascal VOC Data

    How to train (Pascal VOC Data): Download pre-trained weights for the convolutional layers (154 MB):  ...

  7. 卷积神经网络(CNN)的训练及代码实现

    本文部分内容来自zouxy09的博客.谢谢.http://blog.csdn.net/zouxy09/article/details/9993371 以及斯坦福大学深度学习教程:http://ufld ...

  8. 深度学习二、CNN(卷积神经网络)概念及理论

    一.卷积神经网络(CNN) 1.常见的CNN结构有:LeNet-5.AlexNet.ZFNet.VGGNet.ResNet等.目前效率最高的是ResNet. 2.主要的层次: 数据输入层:Input ...

  9. C++卷积神经网络实例:tiny_cnn代码具体解释(7)——fully_connected_layer层结构类分析

    之前的博文中已经将卷积层.下採样层进行了分析.在这篇博文中我们对最后一个顶层层结构fully_connected_layer类(全连接层)进行分析: 一.卷积神经网路中的全连接层 在卷积神经网络中全连 ...

随机推荐

  1. 1251 client does not support

    1.mysql -uroot -p 123456        (用户root,密码123465) 2.use mysql: 3.ALTER USER 'root'@'localhost' IDENT ...

  2. ICPC Asia Nanning 2017 L. Twice Equation (规律 高精度运算)

    题目链接:Twice Equation 比赛链接:ICPC Asia Nanning 2017 Description For given \(L\), find the smallest \(n\) ...

  3. selenium 滑动页面至元素可见

    滚动页面 在自动化操作中,如果web页面过长,而我们需要的元素并不在当前可视页面中,那么selenium就无法对其进行操作:此时,我们就需要像平时操作浏览器一样来滚动页面,使我们需要操作的对象可见! ...

  4. Alice's Classified Message HDU - 5558 后缀自动机求某个后缀出现的最早位置

    题意: 给定一个长度不超过 10W 的只包含小写字母的字符串,从下标 0 到 n−1.从下标 0 开始操作, 每次对于下标 pos查找下标 pos 开始的子串中最长的在其他地方出现过的长度,其他出现的 ...

  5. CSS中background的用法

    CSS中  background 是一个很基本的而且比较常用的样式 background : background-color || background-image || background-re ...

  6. angulatJs 前端数据分页展示——例

    注:css用的是amazeui html: ···<div style="height:500px;overflow: auto;"> <table class= ...

  7. Jmeter-Json提取器、用户定义变量配置

    一.Jmeter用户定义的变量,一般用于配置全局变量 1.选择用户定义的变量菜单 2.配置需要的用户定义变量 这里我添加常用的localhost和port 3.如何使用 需要使用${...}进行引用 ...

  8. Centos7 PXE Server Install Script

    #安装前配置好centos和epel yum源 #网卡ip和localip一致 localip="192.168.88.200" eth_name='eth0' dnsmasq_i ...

  9. 读书笔记五--numpy

    数组转置和轴对换 转置是重塑的一种特殊形式,返回的是源数据的视图(不会进行任何复制操作).数组不仅有transpose方法,还有一个特殊的T属性: arr=np.arange().reshape((, ...

  10. day04 mysql单表查询 多表查询 pymysql的使用

    day04 mysql pymysql   一.单表查询     1.having过滤         一般用作二次筛选             也可以用作一次筛选(残缺的: 只能筛选select里面 ...