当前位置:   article > 正文

【yolo】Jetson nano p3450 开发板部署YOLOv5模型(补充及注意事项)_p3450 jetson硬件

p3450 jetson硬件

基于项目要求,本次将要在nano 上部署yolov5 模型,并对其进行加速。看了好几个教程,但是老是踩到坑,所以现在记录一下,也做一些解释,希望对大家有所帮助。

推荐教程

JetsonNano国产套件成功部署YoloV5手把手图解教程

Jetson nano部署Yolov5目标检测 + Tensor RT加速(超级详细版)

Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)

整体过程 :重点请看后面的注意点

主要分为三步:

  1. 烧录镜像
  2. 配置环境
  3. 加速推理

以上在列出的教程中均有,建议(刚开始)选取一个教程完整执行而非这里瞧瞧那里看看。

踩坑过程

  1. 没弄清楚环境之间的空间关系
  2. 心浮气躁,在安装好torch后由于torchvision迟迟装不上而恼怒。

注意事项

  1. 在镜像烧录好后,你应该有一套完整的外设,这样方便操作
  2. 嵌入式开发版与PC或者服务器之间的关系:底层架构不同,,细节自己参考官方文档
  3. 了解root用户和普通用户之间的区别
  4. 静下心慢慢来。

本篇重点

JetsonNano国产套件成功部署YoloV5手把手图解教程

Jetson nano部署Yolov5目标检测 + Tensor RT加速(超级详细版)

Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)

  1. 安装好conda 包管理器后,是否创建虚拟环境,这顶很重要。
    教程中提供了arrm 架构上的conda 安装教程,创建环境的过程也好找,这里要做的判断是你本人要在虚拟环境中部署还是直接部署。这对后面的指令有影响。
    如果不创建虚拟环境,直接部署的话,只需注意用户空间问题。如果要创建虚拟环境,则安装的库函数尽量不用使用sudo 指令。
  2. 在上述的教程中,Cmake 的部分是必须的,请自己酌情查看各个教程的内容。
  3. 笔者在配置Pytorch 时,发生了许多报错,采取了一些举措,但是很多都不起作用。
下面为原教程的部分:
安装pytorch

Jetson nano上的Linux其实不是x86架构,而是类似手机的ARM架构,这也就导致它的很多包和普通的Linux上的不是通用的。也是踩过的坑之一,pytorch官网下载的包,在实际使用时无法调用开发板的显卡(这是个大问题,失去显卡的开发板算力暴跌!)。这里的PyTorch以及接下来的torchvision等包都需要安装Nvidia官网给出的版本。

1.下载PyTorch1.8
我已经下载好了,现成的安装包下载链接奉上: (提取码:yvex)
安装包

2.安装PyTorch1.8
把下载的东西用U盘拷到Jetson nano开发板上,建议放桌面上,好找。
sudo pip3 install …# 直接把.whl拖到命令窗口中,让它自动填充文件位置
安装需要略漫长的等待。

安装torchvision 0.9.0版本

PyTorch和torchvision版本是需要对应的,上一步下载的那个正好是对应的。

1.提前安装好我们需要的依赖

sudo apt-get install libopenmpi2
sudo apt-get install libopenblas-dev
sudo apt-get install libjpeg-dev zlib1g-dev
  • 1
  • 2
  • 3

注意点1:

这里需要考虑环境的空间关系,如果用的虚拟环境,则不加‘sudo’ 前缀,报错再加上,且只有这种全局性的更新才加。
————————————————————————————————————————————

2.安装torchvision 0.9.0
同样需要特殊的匹配Jetson nano的版本,步骤三中个人链接里包含了这个torchvision。把下载的包拷到开发板上,同样建议放桌面上。

cd torchvision	# 进入到这个包的目录下
export BUILD_VERSION=0.9.0
sudo python3 setup.py install		# 安装(估计要2030分钟不止吧)
  • 1
  • 2
  • 3

注意点2:

不要使用‘sudo’ 前缀,再指定环境下,普通指令编译安装的哭会保存到conda 环境的/home//envs/myenv/lib/python3.x/site-packages/中, 如果使用‘sudo’ 前缀,则编译安装的位置不在这里,后面你会发现torchvision 没有安装成功,但是你已经完成教程操作,就会非常郁闷,不要担心,慢慢找问题。
问题就是我说的这个导致的,sudo 前缀会使你编译到别处,而不是你的虚拟环境中,不用sudo 前缀你会发现权限不足,报错,此时只需将torchvision文件夹的权限修改一下就好了:

下面是修改权限和编译的指令:

sudo chmod -R 777 /home/nvidia/pytorch-torchvison/
python3 setup.py install 
  • 1
  • 2

————————————————————————————————————————————
3.检验一下是否成功安装

python3
  • 1
import torch
import torchvision
print(torch.cuda.is_available())	# 这一步如果输出True那么就成功了!
quit()	# 最后退出python编译
  • 1
  • 2
  • 3
  • 4

注意点3:

我想说的是,print(torch.cuda.is_available()) 这个指令不能鉴别 torchvision 是否安装成功,
因为即便torchvision没有安装成功,
只要CUDA、cuDNN、torch 安装成功,print(torch.cuda.is_available())就会返回 True。
检测torchvision的指令是:
print(torchvision.version) , 与pytorch的检测相似。
print(torch.cuda.is_available()) 这个函数返回True,表示GPU可用被调用。print(torch.version) 输出1.8.0 表示torch 1.8安装成功。
print(torchvision.version)输出0.9.0 表示torchvision 安装成功。

———————————————————————————————————————————
至此,可以安装yolov5 的其他依赖了。

下载YOLOv5-5.0源代码

在自己的电脑上或服务器上训练好。这里如何训练,不做过多解释,可以去B站找一些视频学习一下。我的项目是检测电梯按键。

安装使YOLOv5成功运行需依赖的包
pip install -r requirements.txt
  • 1

注意对比各个版本要求。

加速部署部分敬请期待》》》。祝你好运。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/1012577
推荐阅读
相关标签
  

闽ICP备14008679号