jetson xavier刷机以及使用ONNX加速推理
一、jetson xavier 系列刷机以及基本配置
- Jetson Xavier nx和Jetson Nano刷机教程可见官方网站,里面有详细的材料准备、步骤等说明,不再赘述。注意刷机完成后:
先把microSD卡放到卡槽中再上电!
- Jetson AGX Xavier刷机教程见教程,其中需要下载NVIDIA SDK Manager,无需MicroSD卡,只需USB-TypeC线与ubuntu宿主机相连进行刷机。
- 上一步完成后,若无修改,一路continue,可以看到看到炫酷的桌面啦~。有几个注意的点:
1)连接网络需要修改地区和时间,修改好之后,才可以上网
2)CUDA配置环境变量
#打开环境变量配置文件
sudo vim ~/.bashrc
#按'a'键启动编辑,在最后插入设置CUDA的环境变量
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
#按'esc'键退出编辑,使其生效
source ~/.bashrc
- 接下来需要在python3下安装pip,在jetson xavier nx中指pip3。命令如下:
sudo apt-get update
sudo apt-get install -y python3-pip
注意,若没有更新过源列表,需要先更新,也就是执行上述sudo apt-get update
,否则会出现如下找不到安装包的情况。
- 安装jetson-stats监控查看jetson开发板的信息,它包括jtop、jetson_release、jetson_variable等。在终端输入
sudo -H pip3 install jetson-stats
进行安装,安装之后输入jetson_release -v
即可看到类似如下信息(这里用的jetson AGX xavier,除了刷机方式不一样之外,其他大致一样):输入jtop
,可以实时监控jetson开发板:
之后可以根据需要自行玩耍了*-*
二、安装torch, torchvision,shapely,scipy
PyTorch和torchvision是深度学习经常使用的框架和库,让我们看看在jetson xavier nx上如何安装吧~看完这个,jetson系列也就一样的。
- 官方网站上有不同Jetpack版本对应的torch和torchvison版本,根据需要选择进行安装就可~比如下面我是在Jetpack4.5[L4T 32.5.0]下安装pytorch1.8.0:
python3.6下终端执行:
wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.8.0-cp36-cp36m-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl
- 选择对应的torchvision版本安装:
python3.6下终端执行:
$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
$ git clone --branch <version> https://github.com/pytorch/vision torchvision # see below for version of torchvision to download
$ cd torchvision
$ export BUILD_VERSION=0.x.0 # where 0.x.0 is the torchvision version
$ python3 setup.py install --user
$ cd ../ # attempting to load torchvision from build dir will result in import error
$ pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6
验证是否安装成功:
zxh@zxh-desktop:~$ python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.__version__
'1.8.0'
>>> import torchvision
>>> torchvision.__version__
'0.9.0'
>>>
正常显示torch和torchvision版本,说明安装成功。
3. 安装shapely
#安装依赖
sudo apt-get install libgeos-dev
pip3 install shapely
- 安装scipy
#安装依赖
sudo apt-get install libblas-dev checkinstall
sudo apt-get install liblapack-dev checkinstall
sudo apt-get install gfortran
pip3 install scipy
三、ONNX在jetson xavier nx的安装
- 安装onnx
sudo apt-get install protobuf-compiler libprotoc-dev
pip3 install onnx
- 安装ONNX Runtime
这个网站有编译好的适用于Jetson家族的onnxruntime,找到对应python,cudnn和cuda对应版本的下载就好,为方便使用命令下载截取网址图片如下。
# Download pip wheel from location mentioned above
$ wget https://nvidia.box.com/s/bfs688apyvor4eo8sf3y1oqtnarwafww -O onnxruntime_gpu-1.6.0-cp36-cp36m-linux_aarch64.whl
# Install pip wheel
$ pip3 install onnxruntime_gpu-1.6.0-cp36-cp36m-linux_aarch64.whl
- 编译安装完成之后,可以进入python3交互模式,执行
import onnx
以及import onnxruntime
,不报错说明安装成功。