YOLOv3原始项目训练实录--GPU版

一、 基础平台:Nivdia显卡GTX1080+Ubuntu训练。

二、 文件配置:yolov3-voc.cfg、Makefile、voc.data、voc.names、coco.names

话不多说,直接上配置原文件。

1. yolov3-voc.cfg

(1)[net]
# Testing
#batch=1
#subdivisions=1
# Training
batch=64#加粗部分就是修改后的值,可直接使用。
subdivisions=16#一张gtx1080gpu上训练设置为8会出现溢出,报错核心已转储,设置为16成功运行。

width=416
height=416
。。。。
(2)learning_rate=0.001#学习率也调整,也可以不调整

。。。

(3)[convolutional]
size=1
stride=1
pad=1
filters=18#计算公式3x(4=+1+class_num),class_num即是类别数
activation=linear
[yolo]
mask = 6,7,8
anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326
classes=1#类别数目,根据自己训练类别设置。
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1

random=1#使用GPU训练设置为1,否则设置为0.

。。。

(4)[convolutional]
size=1
stride=1
pad=1
filters=18
activation=linear
[yolo]
mask = 3,4,5
anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326
classes=1
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1

random=1

。。。

(5)[convolutional]
size=1
stride=1
pad=1
filters=18
activation=linear
[yolo]
mask = 0,1,2
anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326
classes=1
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1

random=1

2. Makefile(cpu训练可以不需要修改 直接训练)

Makefile的配置参考了这篇博客,在此致谢并给出网址:https://blog.csdn.net/john_bh/article/details/80625220

GPU=1#使用GPU训练需修改
CUDNN=1
OPENCV=1

OPENMP=0

DEBUG=0

。。。

CC=gcc
NVCC=/usr/local/cuda-8.0/bin/nvcc #nvcc位置
AR=ar
ARFLAGS=rcs
OPTS=-Ofast
LDFLAGS= -lm -pthread 
COMMON= -Iinclude/ -Isrc/

CFLAGS=-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC

。。。

ifeq ($(GPU), 1) 
COMMON+= -DGPU -I/usr/local/cuda-8.0/include/
CFLAGS+= -DGPU

LDFLAGS+= -L/usr/local/cuda-8.0/lib64 -lcuda -lcudart -lcublas -lcurand

3.  voc.data

classes= 1 #类别数
train  = /home/p910/桌面/make/darknet/train.txt #train.txt文件所在路径,该文件包含对应图片的完整路径。
valid  = /home/p910/桌面/make/darknet/2007_test.txt #2007_test.txt文件所在路径。

names = data/voc.names
backup = backup
4. voc.names和coco.names

这两个文件都要修改为自己的类别名称,不然会出现检测图片是命名的问题。

三、GPU训练

只需在指令最后加一句:-gpus 0,1,...(只适用YOLOv3,其他未加验证)

四、训练终端后继续在之前训练好的权重基础上训练把黔中文件名(包含扩展名)添加在命令后即可以,注意别家含有final的权重文件。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值