Jetson TX2重要技巧
一、参考资料
Nvidia Jetson nano 安装Archiconda、gpu版torch、踩坑记录
二、重要说明
- Jetson Tx2 用不了 nvidia-smi 命令。
- Jetson TX2用Jetpack刷机之后,系统环境自带有CUDA,cudnn,Python,tensorRT,uff,graphsurgeon等相关包,并且这些包有很强的版本匹配关系,也即需要版本对齐。
- Anacona目前不支持aarch64架构,因而无法直接安装。Archiconda是用于64位ARM平台的Conda发行版,下载地址:Archiconda3-0.2.3-Linux-aarch64.sh。Archiconda在2019年就已经停止维护了,所以很多功能并不能跟上如今的anaconda,但是基本功能完全能满足。
- (不推荐)使用archiconda方式创建虚拟环境,需要自己去安装arch版本的tensorRT以及其他一些包,特别麻烦。
- (推荐)使用Virtualenv Environment方式创建虚拟环境(项目相关的环境),默认在项目所在目录(venv),可以继承系统已经安装好的包,默不需要你重新安装,很方便。
三、重要技巧
3.1 设置虚拟内存
[日常] Jetson TX2 安装 Tensorflow
在NVIDIA Jetson TX2上安装TensorFlow
重要说明:
添加swap file是为了在硬盘上创建虚拟内存,给编译像TensorFlow这种大型的项目提供足够的内存。
3.1.1 创建8GB大小的swapfile
```bashfallocate -l 8G swapfile```
3.1.2 更改swapfile的权限
```bashchmod 600 swapfile```
3.1.3 创建swap区
```bashmkswap swapfile```
3.1.4 激活swap区
```bashsudo swapon swapfile```
3.1.5 确认swap区在用
```bashswapon -s```
3.2 安装pytorch
PyTorch for Jetson - version 1.9.0 now available
3.3 安装torchvision
pytorch与torchvision版本对齐
NVIDIA Jetson Xavier NX安装torch和torchvision
NVIDIA Jetson Xavier NX 安yolo v5 环境,必成功(miniforge管理环境)
方法一(源码安装):
- github下载torchvision源码 下载地址
- 编译安装
cd visionpython3 setup.py install
方法二(不推荐):
# 该方法可能失效pip3 search torchvision --timeout=500# 查看到有torchvision的0.7.0a0+78ed10cpip3 install torchvision==0.7.0a0+78ed10c
3.4 安装tensorflow
官方安装教程
TensorFlow For Jetson Platform
[日常] Jetson TX2 安装 Tensorflow
tensorflow下载连接
Download tensorflow
3.4.1 重要说明:
- nvidia专门为jetson tx2的板子出的tensorflow,直接用pip命令安装即可。
- As of the 20.02 TensorFlow release, the package name has changed from tensorflow-gpu to tensorflow.
2020年02月,tensorflow-gpu的名称改为了tensorflow。 - JP_VERSION,TF_VERSION,NV_VERSION,三者版本对齐,查看jetpack对应的tensorflow版本
TensorFlow For Jetson Platform。 - 截止到2021年10月11日,jetpack最高支持python3.6。
3.4.2 安装最新版本
pip install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 tensorflow
3.4.3 安装1.x版本
pip install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 'tensorflow<2'
3.4.4 安装指定版本
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION tensorflow==$TF_VERSION+nv$NV_VERSION
JP_VERSIONThe major and minor version of JetPack you are using, such as 42 for JetPack 4.2.2 or 33 for JetPack 3.3.1.TF_VERSIONThe released version of TensorFlow, for example, 1.13.1.NV_VERSIONThe monthly NVIDIA container version of TensorFlow, for example, 19.01.
3.5 ROS软件安装
WIN10下安装Ubuntu18.04.5双系统+RTX3070独显不太成功安装方法(可参考)
Ubuntu双系统、ROS、软件安装教程
3.6 模型转换
ONNX-TensorRT模型转换代码编译笔记
四、可能出现的问题
Q:找不到opencv
```text解决办法找到 /usr/lib/python3.6/dist-packages/cv2/python-3.6路径下的cv2.cpython-36m-aarch64-linux-gnu.so文件,复制到路径/home/jetson/archiconda3/envs/tf-gpu/lib/python3.6文件夹下即可。sudo cp /usr/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-aarch64-linux-gnu.so /home/jetson/archiconda3/envs/tf-gpu/lib/python3.6``````text类似的问题:找不到tensorrt,uff,graphsurgeon注意:保持python版本一致,找到对应的文件夹。/usr/lib/python3.6/usr/lib/python3.7/usr/lib/python3.8```
Q:Illegal instruction (core dumped)
非法指令(核心已转储)
```textpythonimport torch```[Ubuntu/Jetson Nano问题解决“Illegal instruction(core dumped)”](https://blog.csdn.net/LYiiiiiii/article/details/119133826)```text错误原因:1. pytorch版本问题,安装合适的pytorch版本2. python的版本问题,安装合适的python版本解决办法:方法一(推荐):将 export OPENBLAS_CORETYPE=ARMV8 添加到环境变量即可。sudo gedit ~/.bashrcexport OPENBLAS_CORETYPE=ARMV8更新配置source ~/.bashrc方法二:在运行python程序之前,运行下列的代码OPENBLAS_CORETYPE=ARMV8 python demo.py```
Q:安装Pytorch,缺少openblas.so库
>>> import torch Traceback (most recent call last): File "", line 1, in <module> File "/media/mydisk/MyDocuments/PyProjects/20220113/venv/lib/python3.6/site-packages/torch/__init__.py", line 196, in <module> from torch._C import *ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory‵
解决办法:sudo apt-get install libopenblas-dev
开发者涨薪指南
48位大咖的思考法则、工作方式、逻辑体系