Darknet+ros(ubuntu16.04)

一、下载Darknet_ros

mkidr -p catkin_ws/src
cd catkin_ws/src
git clone --recursive https://github.com/leggedrobotics/darknet_ros.git
cd ..
catkin_make -DCMAKE_BUILD_TYPE=Release

github进不去,使用镜像:

git clone --recursive https://gitclone.com/github.com/leggedrobotics/darknet_ros.git

但是这样子darknet文件是空的,编译会失败

进入https://github.com/pjreddie/darknet/tree/508381b37fe75e0e1a01bcb2941cb0b31eb0e4c9

把单独的darknet 压缩包下载下来,移植到 darknet_ros文件夹中

1.1:编译整个darknet_ros

catkin_make -DCMAKE_BUILD_TYPE=Release

(仅对darknet_ros功能包编译: catkin_make -DCATKIN_WHITELIST_PACKAGES="darknet_ros")

如果编译出现如下错误:Darknet+ros(ubuntu16.04)_第1张图片

1、打开darknet文件下的makefile文件,把显卡算力修改(RTX3060为8.6)

Darknet+ros(ubuntu16.04)_第2张图片

 2、打开darknet_ros下的Cmakelist.txt修改显卡计算能力

Darknet+ros(ubuntu16.04)_第3张图片

 OK,编译成功!

1.2编译darknet

Darknet+ros(ubuntu16.04)_第4张图片出现以上错误,是因为cuda路径中缺少cudnn的头文件,在下载/cuda中执行一下指令(跟你下载cuda时候的路径有关系)

sudo cp include/* /usr/local/cuda/include/

 Darknet+ros(ubuntu16.04)_第5张图片

出现这个问题,需要在 /home/north/catkin_ws/src/darknet_ros/darknet/src 下修改convolutional_layer.c文件

如何解决pjreddie版darknet不能使用cudnn8编译的问题_XCCCCZ的博客-CSDN博客

darknet编译GPU、CUDNN - wuyuan2011woaini - 博客园

 cd到darknet目录下编译:

make

Darknet+ros(ubuntu16.04)_第6张图片

二、测试darknet

下载预训练权重(在darknet目录下):

wget https://pjreddie.com/media/files/yolov3.weights

测试:

./darknet detect cfg/yolov3.cfg yolov3.weights data/horses.jpg

出错!(半天load权重没反应,修改cuda=0后可以load权重但是还会出错)

查明 RTX3060 不支持 CUDA10.0 ,参考我的另一个博客,修改成CUDA11.3 + CUDNN

你可能感兴趣的:(自动驾驶,人工智能,机器学习)