编译Darknet
git clone https://github.com/pjreddie/darknet
修改Makefile文件
GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0cd darknet make

安装CUDA:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pinsudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600sudo apt-key adv —fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pubsudo add-apt-repository “deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /“sudo apt-get updatesudo apt-get -y install cuda
参考链接:https://developer.nvidia.com/zh-cn/cuda-downloads

参考链接:https://developer.nvidia.com/rdp/cudnn-archive
安装完,重启:sudo reboot

因为pjreddie版的darknet的代码比较老旧了,依赖于cudnn7.x,所以在一个CUDA11.1+cudnn8.x的环境下编译pjreddie版的darknet的话,会报错。
解决方案:修改src/src/convolutional_layer.c文件
开头处添加:define PRINT_CUDNN_ALGO 0 #define MEMORY_LIMIT 2000000000
。。。。。。
参考链接:https://blog.csdn.net/qq_41580422/article/details/113399820

由于OpenCV版本过高(opencv 4.4),修改src/image_opencv.cpp
将第63行修改为://IplImage ipl = m; IplImage ipl = cvIplImage(m);
参考链接:https://blog.csdn.net/baidu_34172099/article/details/107178158

修改Makefile

路径根据自己的内容进行修改
参考链接:https://blog.csdn.net/Chen_qi_hai/article/details/104598145

原来是cuda版本高,不支持运算,所以解决方法是 注释部分:
在这里插入图片描述参考链接:https://blog.csdn.net/weixin_41194129/article/details/113798723
编译成功,进行简单测试:
下载权重:
cd darknet
wget https://pjreddie.com/media/files/yolov3.weights
wget https://pjreddie.com/media/files/yolov3-tiny.weights
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg

使用Darknet深度学习框架训练模型:
下载已经标注好的数据集;
将数据集VOC(.xml)转换从YOLO(.txt)
划分数据集(galss_train.txt)和训练集(glass_val.txt) 修改data/voc.names文件:
修改cfg/voc.data,针对自己的路径作出修改

修改cfg/yolov3-tiny.cfg

需要改两处这样的地方,需要修改classes,filter=3(classes+1+4);*

wget https://pjreddie.com/media/files/yolov3_tiny.weights ./darknet partial ./cfg/yolov3-tiny.cfg ./yolov3-tiny.weights ./yolov3-tiny.conv.15 15
训练模型:sudo ./darknet detector train cfg/voc.data cfg/yolov3-tiny.cfg yolov3-tiny.conv.15 sudo ./darknet detector train cfg/voc.data cfg/yolov3-tiny.cfg backup/yolov3-tiny_10000.weights -map
模型会自动保存; 模型测试:./darknet detector test cfg/voc.data cfg/yolov3-tiny.cfg backup/yolov3-tiny_10000.weights data/11.png
测试结果:
免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:云恒制造:编译Darknet—-debug历程 https://www.bxbdf.com/a/19777.shtml