yolov3 训练自己的数据集

您所在的位置:网站首页 yolov3如何训练自己的数据集 yolov3 训练自己的数据集

yolov3 训练自己的数据集

2022-09-29 11:25| 来源: 网络整理| 查看: 265

yolov3 训练自己的数据集 发布时间:2018-08-01 15:49, 浏览次数:1142 , 标签: yolov

        历时4天,沐浴着22楼的阳光,围着服务器取暖,终于把权重文件给训练出来了,期间遇到一些问题,下面我会列举,以免大家走太多弯路;然后服务器配置还不正确,对于一个小白来说,简直崩溃,又去网上找了大量教程,终于把cuda版本改成了9.0,GPU能用了,但是opencv还是不能用,一会再去调一下。

       先放最后的测试结果,训练的是表的类型,一共有180张图片(训练集+测试集),有s,m,l,xl,xxl五种类型,这个是m的,由于部分原因,没有训练到最后(所以只生成了yolov3_10000.weight)

1.下载yolov3的工程git clone https://github.com/pjreddie/darknet cd darknet cd darknet 2.修改配置文件vi Makefile GPU = 1 #如果想用GPU进行训练 CUDNN = 1 OPENCV = 1 然后保存, make  #记住一定要make才能生效 如果服务器配置都是好的,那基本会成功,不成功的话就检查一下cuda,cudnn,opencv这些版本是否兼容吧。

3.darknet里面有一个scripts文件夹,在scripts里面建一个VOCdevkit文件夹,然后在VOCdevkit里面建一个VOC2007文件夹,然后在VOC2007里面建三个文件夹,分别为Annotations,ImageSets,JPEGImages,然后在ImageSets里面建一个Main文件夹(这些是为了和下面的脚本文件路径)scripts --VOCdevkit --VOC2007 --Annotations --ImageSets --Main --JPEGImages Annotations中放所有的xml文件;JPEGImages中放所有的图片;Main中放train.txt和val.txt。 4.生成train.txt和val.txt

#这个小脚本是用来打开图片文件所在文件夹,把前149个用于训练的图片的名称保存在train.txt,后31个用于验证的图片保存在val.txt,这是一个python文件,别忘记自己修改路径,不能完全照搬,先看一下代码,修改好之后运行就会生成两个txt import os from os import listdir, getcwd from os.path import join if __name__ == '__main__': source_folder='/home/lijintao/darknet/scripts/VOCdevkit/VOC2007/JPEGImages/'#地址是所有图片的保存地点 dest='/home/lijintao/darknet/train.txt' #保存train.txt的地址 dest2='/home/lijintao/darknet/val.txt' #保存val.txt的地址 file_list=os.listdir(source_folder) #赋值图片所在文件夹的文件列表 train_file=open(dest,'a') #打开文件 val_file=open(dest2,'a') #打开文件 for file_obj in file_list: #访问文件列表中的每一个文件 file_path=os.path.join(source_folder,file_obj) #file_path保存每一个文件的完整路径 file_name,file_extend=os.path.splitext(file_obj) #file_name 保存文件的名字,file_extend保存文件扩展名 file_num=int(file_name) #把每一个文件命str转换为 数字 int型 每一文件名字都是由四位数字组成的 如 0201 代表 201 高位补零 if(file_num



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3