Jetson Xavier NX配置YOLOV5环境

一、pip3及依赖库安装

sudo apt-get update
sudo apt-get install python3-pip python3-dev -y
sudo apt-get install build-essential make cmake cmake-curses-gui -y
sudo apt-get install git g++ pkg-config curl -y
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y
sudo apt-get install libhdf5-serial-dev hdf5-tools -y
sudo apt-get install nano locate screen -y
sudo apt-get install libfreetype6-dev -y
sudo apt-get install protobuf-compiler libprotobuf-dev openssl -y
sudo apt-get install libssl-dev libcurl4-openssl-dev -y
sudo apt-get install cython3 -y

为了方便查看相关系统信息:

sudo -H pip3 install jetson-stats

安装完成后,重启系统,可以终端输入jtop调用

二、Cmake

wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/
cd cmake-3.13.0/
./bootstrap --system-curl	
make -j4 
echo 'export PATH=~/cmake-3.13.0/bin/:$PATH' >> ~/.bashrc
source ~/.bashrc

Ps:如果出现

缺少:CURL_LIBRARY CURL_INCLUDE_DIR

sudo apt-get install curl
sudo apt-get install libssl-dev libcurl4-openssl-dev

大容量设备无法挂载

sudo apt-get install exfat-utils

完成以后,可以试一下:

cmake --version

可以看到安装完成的cmake版本信息

三、CUDA10.2、CUDNN8.0安装

2.1 CUDA安装

将Cuda10.2文件移到/usr/local中

sudo cp -r [目标文件的位置] [目标位置]

例如,我的文件原路径是:Download/cuda-10.2, 我的指令就应该是sudo cp -r Download/cuda-10.2 /usr/local
然后将/usr/local中的cuda-10.2中的targets解压,

sudo tar xzvf targets.tar

创建软连接:

sudo ln -s /usr/local/cuda-10.2/targets/aarch64-linux/lib lib64

sudo ln -s /usr/local/cuda-10.2/targets/aarch64-linux/include include
sudo chmod -R +x /usr/local/cuda-10.2

sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda

sudo ldconfig

环境变量配置:

sudo vim ~/.bashrc

键盘输入a将进入Insert模式,然后将下方信息复制到文件末尾

export CUBA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH

然后esc退出Insert模式,然后键盘输入:wq 保存并退出
更新一下:

source ~/.bashrc

再安装一些依赖:

sudo apt-get update
sudo apt-get install cuda-toolkit-10-2

然后可以验证一下cuda:

nvcc -V

2.2 CUDNN安装

将cudnn文件中的三个deb文件拷到开发板里
在这里插入图片描述
然后依次执行:

sudo dpkg -i libcudnn8_8.0.0.180-1+cuda10.2_arm64.deb
sudo dpkg -i libcudnn8-dev_8.0.0.180-1+cuda10.2_arm64.deb
sudo dpkg -i libcudnn8-doc_8.0.0.180-1+cuda10.2_arm64.deb

然后修改安装路径:

sudo cp /usr/include/cudnn.h /usr/local/cuda/include/

sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/

然后可以打开jtop看到
在这里插入图片描述

四、opencv

4.1 安装opencv的系统依赖和编解码库

sudo apt-get install build-essential -y
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install ffmpeg -y

依赖安装中出现:
在这里插入图片描述
解决:

sudo ln -sf /usr/local/cuda/lib64/libcudnn_adv_infer.so.8.2.1 /usr/local/cuda/lib64/libcudnn_adv_infer.so.8
 
sudo ln -sf /usr/local/cuda/lib64/libcudnn_ops_train.so.8.2.1 /usr/local/cuda/lib64/libcudnn_ops_train.so.8
 
sudo ln -sf /usr/local/cuda/lib64/libcudnn.so.8.2.1 /usr/local/cuda/lib64/libcudnn.so.8
 
sudo ln -sf /usr/local/cuda/lib64/libcudnn_ops_infer.so.8.2.1 /usr/local/cuda/lib64/libcudnn_ops_infer.so.8
 
sudo ln -sf /usr/local/cuda/lib64/libcudnn_adv_train.so.8.2.1 /usr/local/cuda/lib64/libcudnn_adv_train.so.8
 
sudo ln -sf /usr/local/cuda/lib64/libcudnn_cnn_infer.so.8.2.1 /usr/local/cuda/lib64/libcudnn_cnn_infer.so.8
 
sudo ln -sf /usr/local/cuda/lib64/libcudnn_cnn_train.so.8.2.1 /usr/local/cuda/lib64/libcudnn_cnn_train.so.8

4.2opencv安装

4.2.1 换源
sudo vim /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

安装依赖

sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev
4.2.2 安装

下载文件 opencv 与opencv_contrib 的源码,版本要一致
在这里插入图片描述
在openccv-4.1.1中新建build文件

mkdir build 
cd build 
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/******/*****/opencv_contrib-4.1.1/modules ..
sudo make -j4

In file included from /home/htkt/7111Yolo/opencv-3.4.5/modules/stitching/include/opencv2/stitching.hpp:49:0,
from /home/htkt/7111Yolo/opencv-3.4.5/modules/stitching/src/precomp.hpp:59,
from /home/htkt/7111Yolo/opencv-3.4.5/build/modules/stitching/opencv_stitching_pch_dephelp.cxx:1:
/home/htkt/7111Yolo/opencv-3.4.5/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory

include “opencv2/xfeatures2d/cuda.hpp”

        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated.

上面的ERROR,原因是include的cuda.hpp头文件路径找不到,需要改为绝对路径。打开它提示的文件matchers.hpp,然后找到你的cuda.hpp目录,如下所示。

复制你的路径,然后替换掉include “opencv2/xfeatures2d/cuda.hpp”,比如我的路径:/home/dzh/Software/opencv-3.4.5/opencv_contrib-3.4.5/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp

fatal error: boostdesc_bgm.i: No such file or directory

https://blog.csdn.net/ben_xiao_hai_123/article/details/126262891

sudo make install

配置环境:

sudo gedit /etc/ld.so.conf.d/opencv.conf

在打开的文本中输入:

/usr/local/lib

然后保存、关闭

sudo ldconfig

在这里插入图片描述

五、Pytorch

将以下文件拷贝到开发板
在这里插入图片描述
依赖安装:

sudo apt-get install libopenmpi2
sudo apt-get install libopenblas-dev
sudo apt-get install libjpeg-dev zlib1g-dev
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow

然后终端输入:

sudo pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

六、torchvision

环境配置:

gedit ~/.bashrc

末尾添加:

export OPENBLAS_CORETYPE=ARMV8
source ~/.bashrc

cd到torchvision文件夹中,然后:

sudo python3 setup.py install
export BUILD_VERSION=0.9.0
python3 setup.py install --user

测试:

python3
import torch
import torchvision                          

import未报错就说明ok了

七、yolov5依赖安装

sudo pip3 install matplotlib==3.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip3 install --upgrade Cython	                            
sudo apt-get remove python-numpy
sudo pip3 install numpy==1.19.4
sudo pip3 install scipy==1.4.1.	     
sudo pip3 install tqdm==4.61.2
sudo pip3 install seaborn==0.11.1
sudo pip3 install scikit-build==0.11.1
sudo pip3 install tensorboard==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

这里会因为python版本低于3.7报错,可以尝试降低protobuf的版本:

sudo pip3 install protobuf==3.19.6
sudo pip3 install PyYAML==5.4.1
sudo pip3 install thop
sudo pip3 install pycocotools

如果网不好会经常因为ReadTimeoutError下载失败,可以考虑:

sudo pip3 --default-timeout=1688 install matplotlib==3.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

–default-timeout=1688 就是让其检测延迟的时间变长,以防止因为网络问题而直接报错

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Jetson Xavier NX 是 NVIDIA 推出的一款 AI 开发板,搭载了 NVIDIA Xavier 处理器,可用于进行深度学习和计算机视觉任务。而 YOLOv5 是一种基于深度学习的目标检测算法,可用于在图像或视频中实时检测多个目标。 如果您想在 Jetson Xavier NX 上使用 YOLOv5 进行目标检测,可以按照以下步骤进行: 1. 安装 JetPack SDK。JetPack 是 NVIDIA 提供的一个软件开发套件,包含了操作系统、CUDA 工具包、cuDNN 库、TensorRT 库等组件,可以帮助您在 Jetson Xavier NX 上进行深度学习开发。您可以从 NVIDIA 官网下载并安装 JetPack SDK。 2. 下载 YOLOv5 源代码。您可以从 YOLOv5 的 GitHub 仓库下载最新的源代码。下载完成后,将源代码上传至 Jetson Xavier NX 上。 3. 安装依赖项。在 Jetson Xavier NX 上,您需要安装 Python 3、NumPy、PyTorch、OpenCV 等软件包。可以使用 pip 命令进行安装。例如,安装 PyTorch 可以使用以下命令: ``` pip install torch torchvision torchaudio ``` 4. 将 YOLOv5 模型转换为 TensorRT 格式。在 Jetson Xavier NX 上,可以使用 TensorRT 库对模型进行优化,从而提高推理速度。您需要使用 YOLOv5 源代码中提供的脚本将模型转换为 TensorRT 格式。例如,要将 YOLOv5s 模型转换为 TensorRT 格式,可以使用以下命令: ``` python3 models/export.py --weights yolov5s.pt --img 640 --batch 1 ``` 5. 运行目标检测程序。在 Jetson Xavier NX 上,可以使用 YOLOv5 源代码中提供的 detect.py 脚本运行目标检测程序。例如,要在图像中进行目标检测,可以使用以下命令: ``` python3 detect.py --weights yolov5s.torch --img 640 --conf 0.25 --source image.jpg ``` 其中,--weights 参数指定要加载的模型文件,--img 参数指定输入图像的大小,--conf 参数指定目标检测的置信度阈值,--source 参数指定输入图像的文件名。 希望这些步骤对您有所帮助! ### 回答2: Jetson Xavier NX是NVIDIA最新发布的低功耗高性能AI计算平台,被称为最强大的AI小型电脑,其搭载的芯片组拥有384个张量核心,达到了11TFlops的计算能力。YOLOv5是目前最先进的目标检测算法之一,能够在保持高准确率的同时实现快速的目标识别和定位。那么Jetson Xavier NXYOLOv5结合有哪些优势呢? 首先,Jetson Xavier NX的高性能和低功耗使得它非常适合运行YOLOv5算法,因为YOLOv5需要大量的计算资源和内存来进行目标检测和分类,而Jetson Xavier NX能够提供强大的AI计算能力和高速的数据传输,减少了运行YOLOv5算法时的时延。 其次,Jetson Xavier NX还具有较高的多任务处理能力和深度学习推理速度,使得它能够同时运行多个摄像头的视频流进行实时的目标检测和追踪,而不需要降低图像处理的分辨率,从而更好地保持目标检测的准确率和实时性。 此外,Jetson Xavier NX还支持NVIDIA TensorRT和CUDA加速,这两种技术可以将训练好的神经网络的推理速度加速数倍,使得Jetson Xavier NX能够更快地处理复杂的目标检测任务和各种AI场景。 因此,Jetson Xavier NXYOLOv5的结合可以为安防、自动驾驶、智能交通等领域的应用提供更高效、更准确和更实时的解决方案。 ### 回答3: Jetson Xavier NX是英伟达推出的高性能边缘计算平台,搭载NVIDIA的Volta架构和Tensor Cores,支持AI推理、复杂的计算任务和图形渲染。而Yolov5是一种基于深度学习的目标检测算法。 Jetson Xavier NX搭载着NVIDIA的高效AI处理芯片,能够支持高效的AI推理,使得检测速度非常快,对于复杂的计算任务有着非常优秀的性能表现。而Yolov5则是基于深度学习算法的目标检测算法,相对于传统的算法有着更好的准确度和速度。 结合Jetson Xavier NXYolov5,我们可以使用Jetson Xavier NX作为高性能边缘计算平台进行目标检测应用的开发。使用Yolov5算法来进行目标检测,可以在保证准确度的前提下提高检测速度,达到更好的实时性能。 有些应用需要在机器上进行目标检测,但是机器的计算能力始终存在限制,这就需要像Jetson Xavier NX这样的高性能计算平台来支持更好的性能表现。使用Yolov5算法,可以在保证准确率的同时提高检测速度,让机器实现实时检测,以获得更好的应用体验。 总之,Jetson Xavier NXYolov5的结合可以在保证准确度的前提下提高目标检测的速度,使得应用具备更好的实时性能,具有非常广泛的应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IRUIRUI__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值