建议NVCC的路径去看看自己相对应的文件夹中是否存在nvcc,以免存在错误。 看配置是否存在问题。 VOC数据集的结构: VOCdevkit Annotations文件夹中一般是存放xml的文件,对应的是图片标识的坐标。 这里给出自动生成的4个txt的代码: text.py 将其放在与Annotations,ImageSets,ImageSets文件夹同一目录下,运行text.py代码即可生成main中的四个文件。 最后是需要生成YOLO所需要的VOC标签,首先复制darknet/scripts中的voc_label.py到darknet/data文件夹中。 在data文件夹中运行voc_lable.py,在data文件夹中生成2007_test.txt,2007_train.txt,2007_val.txt,train.all.txt,train.txt文件即完成VOC数据集的制作。 修改cfg/voc.data文件 在darknet文件夹中创建backup文件夹,以免保存模型的时候,找不到路径而出现错误。 修改data/voc.names文件,将类别修改为自己数据集的类别。 修改cfg/yolo-voc.cfg 搜索文件内含有yolo的地方,3个yolo。注意是要修改三个地方的yolo! 在darknet文件夹下载预先训练的权重文件 下载完成之后就可以训练数据集了,在darknet文件夹下使用下面命令即可训练 当出现/build/tools/caffe: error while loading shared libraries: libcudart.so.10.0错误 解决: 当出现First section must be [net] or [network]: No such file or directory错误 解决: 当出现CUDA Error: invalid device ordinal错误 解决:Yolov3训练自己的数据集(linux版)
训练数据集
1.下载yolov3工程项目
git clone https://github.com/pjreddie/darknet
2.修改Makeflie配置文件
GPU=1 #如果使用GPU训练就设置为1,CPU设置为0 CUDNN=1 #使用GPU就需要调用到CUNDD,当使用GPU时就设置为1,否则设置为0 OPENCV=0 #需要调用摄像头则设置为1,否则设置为0 OPENMP=0 DEBUG=0 ARCH= -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] # -gencode arch=compute_20,code=[sm_20,sm_21] This one is deprecated? # This is what I use, uncomment if you know your arch and want to specify # ARCH= -gencode arch=compute_52,code=compute_52 VPATH=./src/:./examples SLIB=libdarknet.so ALIB=libdarknet.a EXEC=darknet OBJDIR=./obj/ CC=gcc CPP=g++ NVCC=/usr/local/cuda-10.0/bin/nvcc #需要修改成自己的路径 AR=ar
wget https://pjreddie.com/media/files/yolov3.weights
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
3.准备训练的VOC数据集
ImageSets/main文件夹中一般存放4个自动生成的txt文件。
JPEGImages文件夹中存放图片。import os import random trainval_percent = 0.5 train_percent = 0.5 xmlfilepath = 'Annotations' txtsavepath = 'ImageSetsMain' total_xml = os.listdir(xmlfilepath) num=len(total_xml) list=range(num) tv=int(num*trainval_percent) tr=int(tv*train_percent) trainval= random.sample(list,tv) train=random.sample(trainval,tr) ftrainval = open('ImageSets/Main/trainval.txt', 'w') ftest = open('ImageSets/Main/test.txt', 'w') ftrain = open('ImageSets/Main/train.txt', 'w') fval = open('ImageSets/Main/val.txt', 'w') for i in list: name=total_xml[i][:-4]+'n' if i in trainval: ftrainval.write(name) if i in train: ftrain.write(name) else: fval.write(name) else: ftest.write(name) ftrainval.close() ftrain.close() fval.close() ftest .close()
最后将VOCdevkit文件夹放在darknet/data文件夹中。
修改darknet/data/voc_label.py
#由于没有使用到voc2012的数据集,所以将2012的删除 sets=[ ('2007', 'train'), ('2007', 'val'), ('2007', 'test')] #种类按照自己的数据集来 classes = ["person"] #最后一段也一样修改 os.system("cat 2007_train.txt 2007_val.txt > train.txt") os.system("cat 2007_train.txt 2007_val.txt 2007_test.txt > train.all.txt")
4.yolov3训练数据集
classes= 1 #数据集的类别数 train = data/train.txt #train文件路径 valid = data/2007_test.txt #test文件路径 names = data/voc.names backup = backup #模型保存的文件夹
person #修改为自己的类别
[net] # Testing #batch=1 #将这里注释掉 #subdivisions=1 #将这里注释掉 #Training batch=64 #这里取消注释 subdivisions=16 #这里取消注释 width=416 height=416 channels=3 momentum=0.99 decay=0.0005 angle=0 saturation = 1.5 exposure = 1.5 hue=.1
[convolutional] size=1 stride=1 pad=1 filters=18 #修改这里 按照3*(5+len(class))来计算 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 #显存小就修改为0
wget https://pjreddie.com/media/files/darknet53.conv.74
sudo ./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74
易出现的错误
1.在make时出现
将cuda的lib中的链接库复制到path目录下:sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig sudo cp /usr/local/cuda-10.0/lib64/libcublas.so.10.0 /usr/local/lib/libcublas.so.10.0 && sudo ldconfig sudo cp /usr/local/cuda-10.0/lib64/libcurand.so.10.0 /usr/local/lib/libcurand.so.10.0 && sudo ldconfig
2.配置文件编码问题
将该文件修改格式
在vim下 :set ff=unix
保存文件退出3.使用GPU训练报错
使用自己所需要的GPU训练
sudo ./darknet -i 0 detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算