yolo3使用darknet卷积神经网络训练pascal voc
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的更多相关文章
- 吴裕雄 python 神经网络——TensorFlow 使用卷积神经网络训练和预测MNIST手写数据集
import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_dat ...
- 跟我学算法- tensorflow 卷积神经网络训练验证码
使用captcha.image.Image 生成随机验证码,随机生成的验证码为0到9的数字,验证码有4位数字组成,这是一个自己生成验证码,自己不断训练的模型 使用三层卷积层,三层池化层,二层全连接层来 ...
- mxnet卷积神经网络训练MNIST数据集测试
mxnet框架下超全手写字体识别—从数据预处理到网络的训练—模型及日志的保存 import numpy as np import mxnet as mx import logging logging. ...
- 【Tensorflow】 Object_detection之训练PASCAL VOC数据集
参考:Running Locally 1.检查数据.config文件是否配置好 可参考之前博客: Tensorflow Object_detection之配置Training Pipeline Ten ...
- 奉献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 ...
- 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): ...
- 卷积神经网络(CNN)的训练及代码实现
本文部分内容来自zouxy09的博客.谢谢.http://blog.csdn.net/zouxy09/article/details/9993371 以及斯坦福大学深度学习教程:http://ufld ...
- 深度学习二、CNN(卷积神经网络)概念及理论
一.卷积神经网络(CNN) 1.常见的CNN结构有:LeNet-5.AlexNet.ZFNet.VGGNet.ResNet等.目前效率最高的是ResNet. 2.主要的层次: 数据输入层:Input ...
- C++卷积神经网络实例:tiny_cnn代码具体解释(7)——fully_connected_layer层结构类分析
之前的博文中已经将卷积层.下採样层进行了分析.在这篇博文中我们对最后一个顶层层结构fully_connected_layer类(全连接层)进行分析: 一.卷积神经网路中的全连接层 在卷积神经网络中全连 ...
随机推荐
- PHP面试 PHP基础知识 五(自定义函数和内部函数)
自定义函数 变量的作用域和静态变量 变量的作用域:变量的作用域也成为变量的范围,变量的范围即它定义上的上下文背景(也就是它生效的范围). 大部分的PHP变量只有一个单独的范围.这个单独的范围跨度同样包 ...
- QinQ 技术解析
目录 1. 概述 2. QinQ 的产生背景 3. QinQ的作用及原理 4. QinQ 技术的优点 5. QinQ 的报文结构 6. QinQ的实现方式 (1) 基本QinQ (2) 灵活QinQ ...
- MDK中问题:warning : type qualifier is meaningless on cast type return 的解决
在MDK编译代码时,有时会出现这样的警告, warning : type qualifier is meaningless on cast type return 在MDK中,作如下设置: 即添加 : ...
- (转载)理解和使用Promise.all和Promise.race
声明:本文转载自:https://www.jianshu.com/p/7e60fc1be1b2 一.Pomise.all的使用 Promise.all可以将多个Promise实例包装成一个新的Prom ...
- 想成为顶尖 Java 程序员?先过了下面这些问题!
作者:rowkey https://zhuanlan.zhihu.com/p/31552882 一.数据结构与算法基础 说一下几种常见的排序算法和分别的复杂度. 用Java写一个冒泡排序算法 描述一下 ...
- 深入分析Synchronized原理
前言 记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决 ...
- Python 变量作用域 LEGB (下)—— Enclosing function locals
上篇:Python 变量作用域 LEGB (上)—— Local,Global,Builtin https://www.cnblogs.com/yvivid/p/python_LEGB_1.html ...
- Selenium3 + Python3自动化测试系列八——警告框处理和下拉框选择
警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confi ...
- 1-vim-简介
vi(visual interface)是Linux最经典的文本编辑器 vi的核心设计思想-让程序员的手指始终保持在键盘的核心区域,就能完成所有的编辑操作. vi的特点 没有图形界面 只能编辑文本内容 ...
- sanic连接mongo
方法一: #没有密码,就是没有用户和用户密码 settings={"MOTOR_URI":"mongodb://127.0.0.1:27017/zzy"} ap ...