Google Colab训练yolov3自定义数据集
创始人
2024-02-24 15:29:20
0

共分7步:

一、进入Google Colab训练环境
二、下载编译Darknet
三、上传数据集
四、修改配置文件
五、下载预训练权重文件
六、开始训练数据
七、测试训练结果

一、进入Google Colab训练环境

打开 Google Drive 云端硬盘

新建Google Colaboratory文件,进入python运行环境。 

二、下载编译Darknet

yolov3基于darknet深度学习框架。

1. 运行如下代码,连接到Google Drive 云端硬盘

import os
from google.colab import drive
drive.mount('/content/drive')

 弹出提示框时,按提示点击允许连接即可。

2.下载darknet

import os
path = '/content/drive/MyDrive/darknet'
if not os.path.isdir(path):!git clone https://github.com/AlexeyAB/darknet.git

3. 修改makefile,开启GPU、cuda加速

 也可运行命令

%cd /content/drive/MyDrive/darknet
!sed -i 's/OPENCV=0/OPENCV=1/' Makefile
!sed -i 's/GPU=0/GPU=1/' Makefile
!sed -i 's/CUDNN=0/CUDNN=1/' Makefile
!sed -i 's/CUDNN_HALF=0/CUDNN_HALF=1/' Makefile
!sed -i 's/LIBSO=0/LIBSO=1/' Makefile

 4.验证CUDA版本 

!/usr/local/cuda/bin/nvcc --version

 5.编译生成darknet项目。

!make

三、上传数据集

1. 将图片(*.jpg)和对应的标注文件(*.txt)放到同一文件夹下,并将数据放到darknet/data/obj文件夹下。我在网上找的口罩数据集。

 

四、修改配置文件

配置文件共有4个,即obj.data、obj.names、train.txt、yolov3-custom2.cfg。

 2.配置obj.data(位于darknet/data)

obj.data为训练数据的总配置文件。classes为类别数,train、valid、names路径要正确,valid可有可无。backup训练过程中或训练后的权重文件存储路径。

classes= 2
train  = data/train.txt
valid = data/valid.txt
names = data/obj.names
backup = backup/

  3.配置obj.names(位于darknet/data)

obj.names为类别名列表

mask1
mask2

 4.生成train.txt(放到darknet/data) 

 定位到darknet文件夹

%cd /content/drive/
%ls
%cd MyDrive/
%ls
%cd darknet/
%ls

 运行以下代码生成train.txt,注意数据集图片在该路径下(/content/drive/MyDrive/darknet/data/obj)。

import osimage_files = []
os.chdir("/content/drive/MyDrive/darknet/data/obj")
for filename in os.listdir(os.getcwd()):if filename.endswith(".jpg"):image_files.append("data/obj/" + filename)
os.chdir("..")
with open("train.txt", "w") as outfile:for image in image_files:outfile.write(image)outfile.write("\n")outfile.close()
os.chdir("..")

 生成的train.txt位于darknet下,需要手动移动到darknet/data下

 5.配置yolov3-custom2.cfg(位于darknet/cfg) 

复制darknet/cfg/yolov3.cfg,重命名为yolov3-custom2.cfg,打开并编辑

 

 修改一

  修改二,搜索yolo,修改classes、filters,共3处。

五、下载预训练权重文件

!wget http://pjreddie.com/media/files/darknet53.conv.74

 

六、开始训练数据

!./darknet detector train data/obj.data cfg/yolov3_custom2.cfg darknet53.conv.74 -dont_show

 等待数小时(我等了3个小时)后训练完成。

查看loss下降过程, 打开darknet/chart.png

权重文件位于darknet/backup 七、测试训练结果

!./darknet detector test data/obj.data cfg/yolov3_custom2.cfg ./backup/yolov3_custom2_last.weights masktest.jpg -thresh 0.3

 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...