安装主要参考博客:
Jetson agx Xavier上yolov3的安装和测试
我按照上面教程进行安装时并不顺利,遇到如下几个常见错误:
1、遇到libjasper依赖失败。
参考博客:
Jetson AGX Xavier刷机+安装opencv+使用TensorRT加速推理yolo全过程+心路历程
解决方法:
修改源,将清华源中(假设是清华源)带security的两行中的bionic降级到xenial
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
进入root模式
apt-get update
apt-get install libjasper1 libjasper.dev
然后把源换回来。
2、进行到make -j8 这一步出现了如下报错:
./src/convolutional_layer.c:153:13: error: ‘CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT’ undeclared (first use in this function); did you mean ‘CUDNN_CONVOLUTION_FWD_ALGO_DIRECT’?
参考博客:
如何解决pjreddie版darknet不能使用cudnn8编译的问题
解决方法:
将这个文件下载下来,取代你现在的convolutional_layer.c
https://github.com/arnoldfychen/darknet/blob/master/src/convolutional_layer.c
该文件在darknet/src路径下,取代的意思是把这个路径下的convolutional_layer.c删了,或者改个名字,然后把从上面GitHub下载下来的convolutional_layer.c文件放到darknet/src路径下
然后在darknet/路径下执行:
make -j8
3、上步执行完后,./darknet验证安装是否成功时报错:
./darknet: error while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file: No such file or directory
参考博客:
error while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file解决方法
解决方法:
如果
locate libopencv_highgui.so.3.4
这一步没输出任何东西。
尝试以下解决方式:
sudo apt-get install libopencv-highgui-dev
find /usr | grep libopencv_highgui.so.3.4
find /home | grep libopencv_highgui.so.3.4
可以看到输出了:
/home/nvidia/ssd/tools/opencv-3.4.0/release/lib/libopencv_highgui.so.3.4.0
/home/nvidia/ssd/tools/opencv-3.4.0/release/lib/libopencv_highgui.so.3.4
/usr/local/lib/libopencv_highgui.so.3.4.0
/usr/local/lib/libopencv_highgui.so.3.4
在/etc/ld.so.conf.d目录下新建一个opencv.conf文件,将如下内容写入opencv.conf中
/usr/local/lib
/home/smile/opencv3.4.0/build/lib
然后执行
sudo ldconfig
make clean
make -j8
./darknet
输出如下内容则安装成功
usage: ./darknet <function>
4、另外注意
Jetson agx Xavier上yolov3的安装和测试这个教程中,修改Makefile这一步中的NVCC这一步,文件往下翻能找到NVCC这一项,然后修改一下,不要直接粘贴。