一、darknet下载
git clone https://github.com/pjreddie/darknet
二、修改Makefile
2.1 设置使用GPU
GPU=1 #修改
CUDNN=1 #修改
OPENCV=0
OPENMP=0
DEBUG=1 #修改
2.2 修改路径(设置为自己的路径)
现假定cuda版本为cuda-10.0,其他版本路径和这个相似。
修改NVCC路径
NVCC=/usr/local/cuda/cuda-10.0/bin/nvcc
修改COMMON路径
COMMON+= -DGPU -I/usr/local/cuda-10.0/include
修改LDFLAGS路径
LDFLAGS+= -L/usr/local/cuda/lib64-lcuda -lcudart -lcublas -lcarand
三、编译
make
四、下载预训练权重
https://pjreddie.com/media/files/yolov3.weights
五、测试
./darknet detect cfg/yolov3.cfg yolov3.weights data/person.jpg
open predictions.jpg
六、解决报错
6.1 找不到cudnn.h
6.1.1 下载cudnn
根据cuda版本和系统版本
下载cudnn
(Linux源码,是tgz格式,不是deb格式)
6.1.2 解压并复制到cuda路径
解压文件后会看到一个cuda文件夹,里面包含了include以及lib64两个子目录。 将这两个文件夹里的文件复制到cuda对应的安装目录。
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include
sudo cp cuda/lib64/* /usr/local/cuda-10.0/lib64
6.1.3 链接
在/usr/local/cuda-10.0/lib64/目录下
sudo rm -rf libcudnn.so libcudnn.so.7 #删除两个符号链接;
sudo ln -s libcudnn.so.7.0.64 libcudnn.so.7 # libcudnn.so.7.0.64为路径下的文件,根据自己的修改
sudo ln -s libcudnn.so.7 libcudnn.so
6.1.4 添加环境变量
sudo ldconfig /usr/local/cuda-10.0/lib64
6.2 其他报错暂时没发现,欢迎大家评论,一起讨论解决。
版权声明:本文为duzhongqiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。