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

这篇具有很好参考价值的文章主要介绍了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卡(格式化完再烧录镜像)
yolov5 部署jetson nano(通用) 保姆级教学
1.2 Win32 Diskimg:把镜像写入SD卡中 (一定要把下载好的镜像解压,看到.img文件就可以按照下面步骤进行烧录镜像,可能需要半个小时)
yolov5 部署jetson nano(通用) 保姆级教学
yolov5 部署jetson nano(通用) 保姆级教学
(忽略俩张图片英文和中文的不同,按照上述步骤烧录即可)

二、配置环境并成功推理

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
yolov5 部署jetson nano(通用) 保姆级教学

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

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

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

作者还尝试了调用摄像头检测,图像分辨率设在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的部署。文章来源地址https://www.toymoban.com/news/detail-441318.html

到了这里,关于yolov5 部署jetson nano(通用) 保姆级教学的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用图传设备实现yolov5的远程监控与控制(YOLOv5检测+jetson nano+无人机+无线图传+vnc)

    目前想把模型加速部署好的jetson nano,放在自制无人机上,飞至高空用于检测,而且地面可以监控检测效果。 我想的检测方案: 1、使用socket,手动建立一个发射端,一个接收端,这个配置只需要导入socket库,写好ip和端口号就可以了,再打开多线程,速度也应该挺快,但是需

    2024年01月19日
    浏览(31)
  • 【AI】在NVIDIA Jetson Orin Nano上使用tensorrtx部署yolov8

    本人下载的yolov8n.pt yolov8n-cls.pt:用于分类 yolov8n-pose.pt:用于姿势识别 yolov8n-seg.pt:用于对象分割 yolov8n-v8loader.pt:专用于人员检测器??? yolov8n.pt:用于对象检测 1)测试图片

    2024年02月06日
    浏览(34)
  • 对于jetson nano 的docker部署jetson-inference等模型

    对于Nvidia jetson nano来说是一款十分优秀的网络模型部署设备我对于nano来说也是学习了2个星期左右.这也是对我这一阶段做一个复习总结吧! 目录 烧录  下载jetson-inference dock镜像部署操作  跑个例程助助兴 找到函数接口进行调整 我用的是jetson nano a02 版本 是4GB内存大小的 首先

    2024年02月05日
    浏览(28)
  • Jetson nano系统安装和环境部署

    使用sdk-manager安装CUDA,这个安装可前面安装JetPack系统操作类似,然后将板子上Micro USB通过数据线和电脑链接。如下图: 这一步就不用接跳线了!选中红框的所有文件,开始下载安装。 安装完成后会自动添加路径,这点不错,如果没有自动添加则要手动添加。手动添加方式:

    2024年02月15日
    浏览(31)
  • Jetson AGX Xavier实现TensorRT加速YOLOv5进行实时检测

    link 上一篇:Jetson AGX Xavier安装torch、torchvision且成功运行yolov5算法 下一篇:Jetson AGX Xavier测试YOLOv4         由于YOLOv5在Xavier上对实时画面的检测速度较慢,需要采用TensorRT对其进行推理加速。接下来记录一下我的实现过程。  如果还没有搭建YOLOv5的python环境,按照下文步骤

    2024年02月10日
    浏览(29)
  • jetson nx目标检测环境配置遇到的一万个坑,安装v1.12.0版本的pytorch和v0.13.0版本的vision torchvision,以及使用TensorRT部署YOLOv5.

    本文参考了许多官网和博客,肯定是存在抄袭的,请各位大哥不要喷我啊。 自己工作找到的是医学信号方向的算法工程师,所以以后和CV可能无缘了,将自己一个多星期的心血历程发表出来,希望大家接起我的CV火炬,接着前行,各位加油!(后面也学习了yolov5-6.0 yolov7的模型

    2024年02月05日
    浏览(34)
  • jetson nano GPIO控制说明

    GPIO(General Purpose Input Output)通用输入输出。有时候我们会简称为“IO口”。GPIO口在智能硬件开发中是一个比较重要的概念,用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。Jetson TX1、TX2、AGX Xavier和

    2024年02月16日
    浏览(33)
  • Nvidia Jetson Nano Developer KIT配置全过程(一):jetson镜像系统烧录

    关于Jetson Nano开发板的规格参数等指标信息,可以登录Nvidia官方网站查看,也可以打开下面的连接查看。 重点提醒:JetsonNano处理器架构是aarch64架构,所以在jetson nano上安装软件时请选择arrch64版本的,否则会导致无法预料的严重后果。 arm64和aarch64之间的区别:arm64已经与aarc

    2024年02月10日
    浏览(34)
  • 【AI】YOLOv7部署在NVIDIA Jetson TX2上

    Micro controller Unit, 微处理器 在单片机上也能跑的AI算法,好神奇啊,比如MCUNet Central Processing Unit,中央处理器 一般的框架都有CPU版本,当然速度会慢一些,在x86电脑上勉强能用,在嵌入式ARM板上几乎无法使用 Graphics Processing Unit,图形处理器 例如英伟达的各种显卡等,具有强

    2024年02月04日
    浏览(62)
  • jetson nano装opencv4.1.1

    一:下载opencv4.1.1及其相关的安装包,修改一下 可以去官网下载(opencv4和opencv-contrib的版本要对应): opencv4.1.1: https://github.com/opencv/opencv/tags?after=4.3.0 opencv-contrib-4.1.1: https://github.com/opencv/opencv_contrib/tags?after=3.4.12 也可以去这里下载:https://download.csdn.net/download/weixin_45235219/87

    2024年02月05日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包