yolov5 部署jetson nano(通用) 保姆级教学

Jetson nano从配置环境到yolov5成功推理检测全过程


一、烧录镜像

官网的官方镜像下载地址:https://developer.nvidia.com/embedded/downloads
不一定能下载的下来,所以我提供了百度云链接下载,下载地址如下:

链接:https://pan.baidu.com/s/1njWhDqNquyUqnDRCp31y8w
提取码:6qqh

1.需要下载两个烧录的配置软件,这里推荐下面两个软件,一个软件是格式化SD卡(SD卡推荐至少64G),一个是烧录软件

1.1 SD Card Formatter:格式化SD卡(格式化完再烧录镜像)
在这里插入图片描述
1.2 Win32 Diskimg:把镜像写入SD卡中 (一定要把下载好的镜像解压,看到.img文件就可以按照下面步骤进行烧录镜像,可能需要半个小时)
在这里插入图片描述
在这里插入图片描述
(忽略俩张图片英文和中文的不同,按照上述步骤烧录即可)

二、配置环境并成功推理

1.更新系统和包

打开一个终端,依次输入以下代码

sudo apt-get update
sudo apt-get upgrade

可能还需要安装一下中文输入法

ibus-pinyin
sudo apt-get install ibus-pinyin

重启一下,才可以在language support里面看到

reboot

也可以按照下面这个链接去安装中文输入法
https://blog.csdn.net/weixin_41275422/article/details/104500683
http://www.360doc.com/content/20/0501/13/40492717_909598661.shtml

2、配置环境

2.1 配置CUDA

打开终端,输入

sudo gedit ~/.bashrc

在打开的文档的最后面添加下面代码:

export CUDA_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

ctrl+s保存文档,然后退出文档,再上面的终端执行以下:

source ~/.bashrc

查看是否成功,成功就会出现CUDA的版本号:

nvcc -V	#如果配置成功可以看到CUDA的版本号

如果配置成功可以看到CUDA的版本号

2.2 修改Nano板的显存

1.打开终端输入:
sudo gedit /etc/systemd/nvzramconfig.sh
2.修改nvzramconfig.sh文件:

在打开的文档中找到mem值,修改mem的值,如下:

找到的  mem = $((("${totalmem}"/2/"${NRDEVICES}")*1024))
我们修改的 mem = $((("${totalmem}"*2/"${NRDEVICES}")*1024))

把 / 修改为 *

3.重启:
reboot
4.终端输入:
free -h

可查看到swap已经变为7.7G

3、安装archiconda(也就是jetson nano板上的anaconda)

因为Anaconda不支持arm64架构,因此Jetson Nano开发板无法成功安装Anaconda(这是一个巨大的坑,本人就是在踩了好久这个坑才找到Anaconda是无法在jetson nano上运行的)Archiconda是用于64位ARM平台的Conda发行版,安装好了archiconda我们就可以运用win10系统上流畅使用conda的思想来安装包和运行脚本了,是不是感觉很熟悉。

1.下载地址:

https://github.com/Archiconda/build-tools/releases
在这里插入图片描述

2.安装:

找到你下载archiconda包的文件夹位置,打开的终端要在你这个文件夹内,或者cd进行这个文件夹,然后执行:

sudo apt-get install Archiconda3-0.2.3-Linux-aarch64.sh

(如果上面命令無法安裝 使用下面命令安裝)

bash Archiconda3-0.2.3-Linux-aarch64.sh

安装的时候需要一直确定,按enter,全部默认即可,可能需要一点时间

3.测试conda:

关闭上述安装终端,在桌面打开一个新的终端,进入conda环境:

source archiconda3/bin/activate

如果无法进入base环境,则需要配置环境变量
配置过程如下:

sudo gedit ~/.bashrc

在打开的文档最后一行添加下面代码:

export PATH=~/archiconda3/bin:$PATH
4.创建运行yolov5的虚拟环境:

进入conda 的base环境后:

conda create -n  yolov5_py36 python=3.6 #创建一个python3.6环境
conda info --envs  # 查看所有环境
conda activate yolov5_py36  #进入环境
conda deactivate # 退出环境
5.在conda中添加清华源镜像

依次输入以下代码:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

添加清华源镜像为默认网址

先安装一下pip:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install --upgrade pip		#如果pip已是最新,可不执行

再添加清华源为默认网址

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

如果我们在后面安装包报通道错误的时候,我们可以移除清华源镜像,这里提供移除命令,安装好出错的包或环境再重新依次添加上述代码:

查看镜像源命令:conda config --show channels
移除镜像源命令:conda config --remove-key channels

4、安装pytorch和trochvision(最重要的地方)

百度云下载链接:
链接:https://pan.baidu.com/s/11NpLUKKDKbudn_JM6W4aGg
提取码:3rpi
下载完你会看到一个whl文件和torchvision文件,pytorch直接是一个安装包可以直接安装,torchvision是一个文件夹,需要
手动安装。

1.安装pytorch

进入我们的yolov5运行环境

conda activate yolov5_py36

然后找到下载好的torch-1.8.0-cp36-cp36m-linux_aarch64.whl包的所在文件夹,进入文件夹中,输入安装命令:

pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl  #注意安装包的位置
2.测试pytorch是否安装成功:
python  #进入python编码

输入:

import torch 

再输入:

print(torch.__version__)

看到torch的版本号,torch安装成功

3.安装trochvision

进入trochvision文件夹中,
执行命令:

export BUILD_VERSION=0.9.0

然后执行安装命令:

python setup.py install

等待等待,需要比较长时间

4.测试trochvision是否安装成功

进入python编码:

python

执行:

import torchvision

再执行:

print(torchvision.__version__)

看到torchvision版本号,成功。安装到这里就差不多成功了,下面只要进入yolov5文件夹中去就大功告成。

5、搭建YOLOv5环境

还是在我们yolov5_py36环境当中

进入YOLOv5代码文件夹中,这里提供作者这一版本的代码,百度云下载链接:
链接:https://pan.baidu.com/s/1USNqOdzgiHLbfkiaXonjog
提取码:oq81
文件夹中已经放入了yolov5s.pt权重文件,不需要另外下载了。
cd 进入我们的yolov5-maser文件夹
然后执行下面命令来安装其他运行环境:

pip install -r requirements.txt 

因为我们前面更换了清华源镜像所以下载速度还是很快的,等待安装完成。

1.测试yolov5
python detect.py --weights yolov5s.pt

等待等待,运行成功如下:

在这里插入图片描述

作者还尝试了调用摄像头检测,图像分辨率设在480大小,对每一帧图像的推理速度可达0.09秒左右,比i7系统上纯CPU快上几倍。

6、参考

1.https://blog.csdn.net/carrymingteng/article/details/120978053
2.https://blog.csdn.net/weixin_41275422/article/details/104500683
3.https://qianbin.blog.csdn.net/article/details/103760640

总结

完成部署,踩坑了很多,网上部署教程也很多,作者也是第一次部署这个玩意,也是一个纯小白,其中会出现很多错误,希望各位大佬指正,大家一起学习,一起进步。

后续应该会尝试tensorrtx进行加速推理,以及对轻量级网络的YOLOv3-Tiny的部署。

  • 68
    点赞
  • 621
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 88
    评论
### 回答1: 要将YOLOv5部署Jetson Nano上,您需要按照以下步骤进行操作: 1.安装JetPack SDK:JetPack SDK是NVIDIA Jetson Nano的软件开发工具包,它包含了必要的驱动程序、库和工具,以便您可以在Jetson Nano上运行深度学习模型。您可以从NVIDIA官网下载并安装JetPack SDK。 2.安装依赖项:在Jetson Nano上运行YOLOv5需要安装一些依赖项,包括Python、OpenCV、PyTorch等。您可以使用以下命令安装这些依赖项: sudo apt-get update sudo apt-get install python3-pip libopenblas-dev libblas-dev m4 cmake cython python3-dev python3-yaml python3-setuptools python3-wheel python3-pillow python3-numpy 3.下载YOLOv5:您可以从GitHub上下载YOLOv5的源代码。使用以下命令将源代码克隆到Jetson Nano上: git clone https://github.com/ultralytics/yolov5.git 4.下载预训练模型:YOLOv5需要一个预训练模型来进行目标检测。您可以从YOLOv5的官方网站上下载预训练模型。将预训练模型下载到Jetson Nano上。 5.测试YOLOv5:使用以下命令在Jetson Nano上测试YOLOv5: cd yolov5 python3 detect.py --source # webcam python3 detect.py --source path/to/image.jpg # image python3 detect.py --source path/to/video.mp4 # video 6.部署YOLOv5:如果您想将YOLOv5部署Jetson Nano上进行实时目标检测,您可以使用TensorRT进行优化。TensorRT是NVIDIA的深度学习推理引擎,可以将深度学习模型优化为高效的推理引擎。您可以使用以下命令将YOLOv5优化为TensorRT引擎: python3 models/export.py --weights path/to/weights.pt --img 640 --batch 1 --name yolov5s --dynamic 7.使用TensorRT进行推理:使用以下命令在Jetson Nano上使用TensorRT进行推理: python3 detect.py --source --weights path/to/yolov5s.engine --img 640 --batch 1 --half 这些是将YOLOv5部署Jetson Nano上的基本步骤。您可以根据自己的需求进行调整和优化。 ### 回答2: YoloV5是一种基于深度学习的目标检测算法,它通过训练深度神经网络模型对图像中的目标进行定位和分类。Jetson Nano是英伟达公司推出的一款嵌入式AI计算平台,它搭载了NVIDIA的Tegra X1芯片,拥有1.43 TFLOPS的性能,适合进行AI任务的实时计算和推理。下面将介绍如何将YoloV5部署Jetson Nano上。 第一步:安装JetPack和CUDA JetPack是Jetson Nano上的开发环境,它包含了操作系统、CUDA等驱动程序、TensorRT等工具库。首先需要下载安装最新版的JetPack,同时安装适配的CUDA。 第二步:安装Python和PyTorchJetson Nano上运行YoloV5需要安装Python和PyTorch。可以使用apt-get和pip安装Python以及相关的Python库。安装完Python之后,需要编译和安装PyTorch,具体的步骤可以参考官方文档。 第三步:下载YoloV5代码 可以从GitHub上下载YoloV5的代码和预训练模型。将代码和模型文件复制到Jetson Nano上的任意目录。 第四步:测试YoloV5模型 首先需要在Jetson Nano上安装OpenCV和scipy库。然后使用YoloV5提供的测试脚本对预训练模型进行测试,测试结果将会输出到终端。 第五步:优化YoloV5模型 为了提高YoloV5Jetson Nano上的运行速度和效率,可以使用TensorRT进行模型优化。TensorRT是一个高性能的推理引擎,可以加速深度学习模型的部署和推理。可以使用YoloV5提供的脚本将模型转换为TensorRT格式,并进行推理。 综上所述,将YoloV5部署Jetson Nano上需要安装JetPack和CUDA,安装Python和PyTorch,下载YoloV5代码,测试模型并进行优化。这些步骤有些繁琐,需要一定的技术和经验。但是一旦成功部署YoloV5将可以在Jetson Nano上实现高效准确的目标检测。 ### 回答3: Yolov5是一种高效的目标检测算法,适用于各种嵌入式设备,例如Jetson Nano。为了将Yolov5部署Jetson Nano,需要首先进行以下步骤: 1. 准备Jetson Nano主机和Yolov5模型。 2. 安装Jetson Nano上的CUDA和CUDNN,以便在GPU上快速运行Yolov5。 3. 安装Python环境并安装所需的Python依赖项。 4. 将Yolov5模型上传至Jetson Nano。 5. 使用Jetson Nano上的Python脚本加载模型并进行推理。 以下是详细步骤: 1. 准备Jetson Nano主机和Yolov5模型。 Jetson Nano主机需要安装操作系统(例如Ubuntu)和必备软件(例如OpenCV)。Yolov5模型应该是经过训练的,并保存为.pt文件格式。 2. 安装CUDA和CUDNN。 CUDA和CUDNN是在GPU上快速运行Yolov5所必需的软件。在Jetson Nano上,可以使用Jetpack SDK进行安装。Jetpack SDK包含必要的CUDA和CUDNN软件包。 3. 安装Python环境并安装所需的Python依赖项。 Jetson Nano上应该安装Python 3。然后可以使用pip安装所需的Python依赖项。这些依赖项包括PyTorch和其他必需的Python软件包。 4. 将Yolov5模型上传至Jetson Nano。 将训练好的Yolov5模型上传至Jetson Nano,并确保放置在正确的位置。 5. 使用Jetson Nano上的Python脚本加载模型并进行推理。 使用Python脚本加载Yolov5模型并进行推理。这可以通过使用PyTorch等Python库来实现。Jetson Nano上的脚本可以检测输入图像上的对象,然后输出具有位置和类型信息的对象列表。 通过这些步骤,Yolov5就可以顺利地部署Jetson Nano上。这种部署可以用于各种实时应用程序,例如自动驾驶和智能家居。
评论 88
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

奶茶不加冰

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

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

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

打赏作者

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

抵扣说明:

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

余额充值