yolov4训练数据
简介
前段时间YOLO系列(v1-v3)作者 Joe Redmon在推特上宣布不再继续CV方向的研究,但最近由 Alexey Bochkovskiy大神接管并更新了yolov4的项目,项目地址https://github.com/AlexeyAB/darknet。此项目之前为yolov3项目支持windows的版本,由于官方darknet并不能很好得支持windows环境,便采用了支持windows的此项目,并且此项目一直在更新,用起来比大多数yolov3项目都顺手。
对于yolov4部分的训练流程和测试,同yolov3的过程。
yolov3及标注生成方法可参考:https://blog.csdn.net/longlong068/article/details/105384712
https://blog.csdn.net/longlong068/article/details/105088304
运用google Colab训练自己的Yolov4数据集
google colab的使用
-
首先需要创建谷歌云盘账号:https://drive.google.com
-
打开谷歌云盘
右键选择创建一个Colab的.ipynb文件,如果没有上图的Googel Colab选项,点击关联更多应用添加。
-
将.ipynb文件装载谷歌云盘,方便Googel云盘和Colab分配的云GPU进行文件相互传输。
点击装载Google云端硬盘,或者直接在左边的命令行输入指令进行装载,指令如下:
from google.colab import drive drive.mount('/content/drive')
装载成功后可见:
其中的My Drive中的文件即为Google云盘中的文件。
-
在生成的ipynb文件中进行设置GPU可用、项目的git、训练等后续操作。
项目使用流程
此部分的Yolov4项目基于https://github.com/AlexeyAB/darknet
。
1.设置GPU可用
![](https://i-blog.csdnimg.cn/blog_migrate/2840ccd2ac29bc609f5496a887e7c502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1f0f9e83c404174fbc2604403a0f7c58.png)
2.clone项目构建Darknet
git clone项目
输入并运行以下命令来git项目:
!git clone https://github.com/AlexeyAB/darknet
成功后在左边的文件列表可以找到项目文件darknet。
修改项目的makefile文件,使编译生成的程序可以使用GPU和OpenCV
运行以下命令,将会自动修makefile
# 修改makefile 将OpenCV和GPU设置为可用
%cd 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
验证CUDA版本
#验证CUDA版本
!/usr/local/cuda/bin/nvcc --version
输出结果如下:
编译项目生成darknet运行程序
!make
编译生成可执行文件darknet
![](https://i-blog.csdnimg.cn/blog_migrate/8880662437d77781f36c2519578f9011.png)
3.设置谷歌云盘路径简写——方便上传文件到云端
装载谷歌云盘——便于将谷歌云盘中的文件传到云端服务器中
因为服务器与云盘的装载经常掉,前面装载过也最好再运行以下代码
from google.colab import drive
drive.mount('/content/gdrive')
设置谷歌云盘路径的简写
#将谷歌云盘路径简写为mydrive
!ln -s /content/gdrive/My\ Drive/ /mydrive
!ls /mydrive
运行以上代码,以后输入mydrive即代表谷歌云盘的路径
在谷歌云盘中创建存放训练相关文件的文件夹
回到谷歌云盘中创建一个文件夹,来存放我们训练所要用到的文件,我创建了一个名为yolov4的文件夹,来存放obj