赞
踩
在使用ubuntu开始训练自己的模型前,首先得给电脑配置好环境,这里可以参考这篇文章,都是组长教的好,风扇刚转的时候还很开心,但转久了,还是很心疼我的电脑的。
首先判断电脑下载的是哪个版本的cuda和cuDNN,因为darknet一般有两个版本,第一个官方版本不支持8以上的cuDNN,所以如果你的电脑cuDNN的版本较高,可以选择第二个版本的darknet。
查看cuda版本
nvcc -V
查看cuDNN版本
由于版本不同方法也不同,所以可以都试试
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
或者
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
或者
sudo find -name "cudnn_version.h"
sudo cat [这里换成上一个命令得到的位置] | grep CUDNN_MAJOR -A 2
这样就可以看到我的cuDNN版本是8.2.1
开始下载源码
当你的cuDNN大于8.0时,下载第二种,不然会有各种报错。
部分文件介绍:
cfg:模型的架构,类似于caffe的protext文件
src:最底层的框架定义文件,所有层的定义等最基本的函数
examples:更为高层的一些函数,这些函数直接调用了底层的函数
data:一些label文件和一些样例图(主要用来演示或者直接训练coco等对应数据集时有用)
include:头文件 darknet.h
python:使用python对模型的调用方法,基本都在darknet.py中
scripts:一些脚本
修改Makefile 文件
GPU=1
CUDNN=1
CUDNN_HALF=0
OPENCV=1
AVX=0
OPENMP=1
LIBSO=1
ZED_CAMERA=0
ZED_CAMERA_v2_8=0
支持gpu加速
支持cudnn
支持f16
OPENMP 可以虚拟出多个线程进行多线程训练
使用opencv
编译darknet.so
修改完成之后在darknet根目录下可以编译了
make -j8
需要注意的是,每次修改了都要记得重新编译一下
make clean && make -j8
测试编译是否成功
./darknet
若出现 usage:./darknet<fuction>,则证明成功
测试实例
这里需要先去下载官方权重文件
可以在这里下载,就是很慢
下载以上yolov4.weight,可能很慢,需要等一等
把下载出来的yolov4.weight移动到darknet根目录下的cfg文件夹中,然后输入命令
./darknet detect cfg/yolov4.cfg cfg/yolov4.weights data/dog.jpg
出现以上页面就证明安装成功了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。