Jetson TX2重要技巧

一、参考资料

Nvidia Jetson nano 安装Archiconda、gpu版torch、踩坑记录

二、重要说明

  1. Jetson Tx2 用不了 nvidia-smi 命令。
  2. Jetson TX2用Jetpack刷机之后,系统环境自带有CUDA,cudnn,Python,tensorRT,uff,graphsurgeon等相关包,并且这些包有很强的版本匹配关系,也即需要版本对齐。
  3. Anacona目前不支持aarch64架构,因而无法直接安装。Archiconda是用于64位ARM平台的Conda发行版,下载地址:Archiconda3-0.2.3-Linux-aarch64.sh。Archiconda在2019年就已经停止维护了,所以很多功能并不能跟上如今的anaconda,但是基本功能完全能满足。
  4. 不推荐)使用archiconda方式创建虚拟环境,需要自己去安装arch版本的tensorRT以及其他一些包,特别麻烦。
  5. 推荐)使用Virtualenv Environment方式创建虚拟环境(项目相关的环境),默认在项目所在目录(venv),可以继承系统已经安装好的包,默不需要你重新安装,很方便。

三、重要技巧

3.1 设置虚拟内存

[日常] Jetson TX2 安装 Tensorflow
在NVIDIA Jetson TX2上安装TensorFlow

重要说明:
添加swap file是为了在硬盘上创建虚拟内存,给编译像TensorFlow这种大型的项目提供足够的内存。

3.1.1 创建8GB大小的swapfile

```bash
fallocate -l 8G swapfile
```

3.1.2 更改swapfile的权限

```bash
chmod 600 swapfile
```

3.1.3 创建swap区

```bash
mkswap swapfile
```

3.1.4 激活swap区

```bash
sudo swapon swapfile
```

3.1.5 确认swap区在用

```bash
swapon -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管理环境)

方法一(源码安装):

  1. github下载torchvision源码 下载地址
  2. 编译安装
cd vision
python3 setup.py install

方法二(不推荐):

# 该方法可能失效
pip3 search torchvision --timeout=500

# 查看到有torchvision的0.7.0a0+78ed10c
pip3 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_VERSION
The 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_VERSION
The released version of TensorFlow, for example, 1.13.1.
NV_VERSION
The 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)

非法指令(核心已转储)

```text
python
import 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 ~/.bashrc
export 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

你可能感兴趣的:(编程工具,Jetson,TX2)