云恒制造:编译Darknet—-debug历程

编译Darknet

git clone https://github.com/pjreddie/darknet

修改Makefile文件

GPU=1

CUDNN=1

OPENCV=1

OPENMP=0

DEBUG=0

cd darknet make

云恒制造:编译Darknet----debug历程

安装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

云恒制造:编译Darknet----debug历程 下载CUDNN,并安装;

参考链接:https://developer.nvidia.com/rdp/cudnn-archive

安装完,重启:

sudo reboot

云恒制造:编译Darknet----debug历程

因为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

云恒制造:编译Darknet----debug历程

由于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

云恒制造:编译Darknet----debug历程

修改Makefile

云恒制造:编译Darknet----debug历程

路径根据自己的内容进行修改

参考链接:https://blog.csdn.net/Chen_qi_hai/article/details/104598145

云恒制造:编译Darknet----debug历程

原来是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----debug历程出现这个问题的原因是显存炸了。

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

云恒制造:编译Darknet----debug历程

使用Darknet深度学习框架训练模型:

下载已经标注好的数据集;

将数据集VOC(.xml)转换从YOLO(.txt)

划分数据集(galss_train.txt)和训练集(glass_val.txt) 修改data/voc.names文件:

云恒制造:编译Darknet----debug历程

修改cfg/voc.data,针对自己的路径作出修改

云恒制造:编译Darknet----debug历程

修改cfg/yolov3-tiny.cfg

云恒制造:编译Darknet----debug历程

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

云恒制造:编译Darknet----debug历程 下载预训练权重:

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历程

京云律所-东台站 京云律所-兴安站 京云律所-龙岩站 京云律所-原平站 京云律所-泉州站 京云律所-五常站 京云律所-冷水江站 京云律所-怀化站 京云律所-牡丹江站 京云律所-赣州站 京云律所-海东站 京云律所-深圳站 京云律所-黔西南布依族站 京云律所-唐山站 京云律所-海宁站 京云律所-辛集站 京云律所-临江站 京云律所-林芝站 京云律所-霍林郭勒站 京云律所-射洪站 京云律所-高碑店站 京云律所-阿坝站 京云律所-恩施站 京云律所-开原站 京云律所-阆中站 京云律所-临清站 京云律所-瑞昌站 京云律所-康定站 京云律所-平度站 京云律所-龙港站 京云律所-临沂站 京云律所-阿图什站 京云律所-宁德站 京云律所-柳州站 京云律所-宜城站 京云律所-邛崃站 京云律所-临夏站 京云律所-雷州站 京云律所-龙南站 京云律所-永安站 京云律所-安陆站 京云律所-孝义站 京云律所-石狮站 京云律所-乌兰察布站 京云律所-吉首站 京云律所-克孜勒苏站 京云律所-津市站 京云律所-文山壮族站 京云律所-台山站 京云律所-永城站 京云律所-新密站 京云律所-贵港站 京云律所-青州站 京云律所-乌苏站 京云律所-连云港站 京云律所-高邮站 京云律所-卫辉站 京云律所-绥化站 京云律所-扬州站 京云律所-营口站 京云律所-呼和浩特站 京云律所-清远站 京云律所-凤城站 京云律所-崇左站 京云律所-资兴站 京云律所-太仓站 京云律所-荆州站 京云律所-肥城站 京云律所-池州站 京云律所-鹰潭站 京云律所-晋城站 京云律所-随州站 京云律所-虎林站 京云律所-玉树站 京云律所-邯郸站 京云律所-广德站 京云律所-济南站 京云律所-长治站 京云律所-广安站 京云律所-武夷山站 京云律所-淄博站 京云律所-任丘站 京云律所-大同站 京云律所-丹江口站 京云律所-沙河站 京云律所-黄南站 京云律所-新泰站 京云律所-张家口站 京云律所-平果站 京云律所-绥芬河站 京云律所-利川站 京云律所-湘潭站 京云律所-错那站 京云律所-英德站 京云律所-敦化站 京云律所-武穴站 京云律所-驻马店站 京云律所-简阳站 京云律所-嫩江站 京云律所-湖州站

免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。

(1)
上一篇 2023-05-03 17:39:17
云恒制造:RV1126-SSH连接以及连接之后的挂载
下一篇 2023-05-03 17:41:53

联系我们

在线咨询: QQ交谈

邮件:362039258#qq.com(把#换成@)

工作时间:周一至周五,10:30-16:30,节假日休息。