1、记录一下jetson agx xaiver成功运行yolov5算法的心酸历史,由于网上教程太多,但还是踩了很多坑,所以记录一下以便后续学习。
2、由于本教程是从零开始搭建环境,很多实现的地方都是参考网上教程,所以就不重复造轮子了,所以下面很多都是放的参考博客的链接,如果环境和我板子一样的话,按照步骤做基本上没有太大问题!
3、环境:
目录
一、刷机教程
- 跟着官网Nvidia sdk manger刷机就行
- 参考博客:Jetson AGX Xavier 刷机指南
二、xaiver联网
三、xaiver挂载sd卡到/home目录下(固态扩容)
四、安装jtop查看自己环境
- 参考博客:Jetson AGX Xavier使用jtop
- 注意:重点查看自己的jetpack和cuda
五、安装远程工具nomachine
- 由于jetson xaiver为arm架构,所以需要选择NoMachine for ARMv8
- 下载完成后,执行命令
sudo dpkg -i nomachine_xxx_x_arm64.deb
- 参考博客:用Nomachine远程控制Jetson Nano
六、xaiver换源
- 参考博客:Jetson AGX Xavier换源
七、安装Archiconda虚拟环境
八、安装pycharm
- 参考博客:Jetson AGX Xavier安装Pycharm
- 注:注意要下载arch或者arm版本的pycharm,参考博客中下载的版本不太对,注意自己更改
九、创建环境python3.8的虚拟环境
conda create -n yolov5 python=3.8
conda activate yolov5
十、下载yolov5-5.0版本的算法
- 下载yolov5-5.0zip包
- 注:由于xaiver不能科学上网 通过win10/ubuntu电脑scp传过去或U盘
- 如何scp呢?
scp 本地文件路径 远程服务器用户名@远程IP:远程目录
十一、用pycharm打开yolov5算法
-
首先打开后选择python环境 选择自己创建yolov5虚拟环境 python3.8
-
然后打开detect.py文件,此时pycharm上方会出现黄色的框框 install requirements.txt 点击即可
注:这是我自己尝试的,如果自己去pip install -r requirements.txt
可能会出错 -
其次由于xaiver是arm架构的,所以需要手动安装touch和torchvision
注:由于jetpack是5.0版本的,所以需要安装torch版本是1.12版本,对应torchvision版本是0.13.0版本
参考博客:Jetson AGX Xavier安装torch、torchvision且成功运行yolov5算法 -
最后将yolov5s.pt放到yolov5文件的根目录下,为了避免后续模型报错需放这个yolov5s.pt
参考博客:运行yolov5-5.0出现AttributeError: Can‘t get attribute ‘SPPF‘ 正确解决方法
十二、运行detect.py时出现的错误及解决方法
- ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory - Search
执行命令:
sudo apt-get install libopenblas-dev
- ImportError: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30’ not found (required by /home/xxx/archiconda3/envs/yolov5/lib/python3.8/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-38-aarch64-linux-gnu.so)
注:由于缺少GLIBCXX_3.4.30,所以需要更新conda库
执行命令:
conda install -c conda-forge libstdcxx-ng
此时conda环境的conda库更到最新
然后参考博客继续进行更改:搞定 libstdc++.so.6: version `GLIBCXX_3.4.22’ not found
注:将此博客的GLIBCXX_3.4.22更改为GLIBCXX_3.4.30即可
-
opencv-python>=4.1.2 not found and is required by YOLOv5
执行命令:pip install --upgrade opencv-python
-
AttributeError: Can’t get attribute ‘SPPF’ on <module ‘models.common’ from ‘/home/xxx/yolov5-5.0/models/common.py’>
参考博客:运行yolov5-5.0出现AttributeError: Can‘t get attribute ‘SPPF‘ 正确解决方法