赞
踩
基于项目要求,本次将要在nano 上部署yolov5 模型,并对其进行加速。看了好几个教程,但是老是踩到坑,所以现在记录一下,也做一些解释,希望对大家有所帮助。
JetsonNano国产套件成功部署YoloV5手把手图解教程
Jetson nano部署Yolov5目标检测 + Tensor RT加速(超级详细版)
Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)
主要分为三步:
以上在列出的教程中均有,建议(刚开始)选取一个教程完整执行而非这里瞧瞧那里看看。
JetsonNano国产套件成功部署YoloV5手把手图解教程
Jetson nano部署Yolov5目标检测 + Tensor RT加速(超级详细版)
Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)
Jetson nano上的Linux其实不是x86架构,而是类似手机的ARM架构,这也就导致它的很多包和普通的Linux上的不是通用的。也是踩过的坑之一,pytorch官网下载的包,在实际使用时无法调用开发板的显卡(这是个大问题,失去显卡的开发板算力暴跌!)。这里的PyTorch以及接下来的torchvision等包都需要安装Nvidia官网给出的版本。
1.下载PyTorch1.8
我已经下载好了,现成的安装包下载链接奉上: (提取码:yvex)
安装包
2.安装PyTorch1.8
把下载的东西用U盘拷到Jetson nano开发板上,建议放桌面上,好找。
sudo pip3 install …# 直接把.whl拖到命令窗口中,让它自动填充文件位置
安装需要略漫长的等待。
PyTorch和torchvision版本是需要对应的,上一步下载的那个正好是对应的。
1.提前安装好我们需要的依赖
sudo apt-get install libopenmpi2
sudo apt-get install libopenblas-dev
sudo apt-get install libjpeg-dev zlib1g-dev
这里需要考虑环境的空间关系,如果用的虚拟环境,则不加‘sudo’ 前缀,报错再加上,且只有这种全局性的更新才加。
————————————————————————————————————————————
2.安装torchvision 0.9.0
同样需要特殊的匹配Jetson nano的版本,步骤三中个人链接里包含了这个torchvision。把下载的包拷到开发板上,同样建议放桌面上。
cd torchvision # 进入到这个包的目录下
export BUILD_VERSION=0.9.0
sudo python3 setup.py install # 安装(估计要20、30分钟不止吧)
不要使用‘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
————————————————————————————————————————————
3.检验一下是否成功安装
python3
import torch
import torchvision
print(torch.cuda.is_available()) # 这一步如果输出True那么就成功了!
quit() # 最后退出python编译
我想说的是,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 的其他依赖了。
在自己的电脑上或服务器上训练好。这里如何训练,不做过多解释,可以去B站找一些视频学习一下。我的项目是检测电梯按键。
pip install -r requirements.txt
注意对比各个版本要求。
加速部署部分敬请期待》》》。祝你好运。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。