前言
前面提到Xavier是嵌入式平台,使用的是AArch64架构,与我们平时使用的Intel架构电脑不一样,故开发环境搭建方式也不一样。官方的SDK:JetPack为我们搭好了基础环境,接下来便需要根据自己的开发环境手动安装其他依赖库。本文针对开发中使用率较高的ROS、Anaconda、Pytorch以及其它依赖库,介绍其在Xavier下的安装方法。
安装ROS
Xavier无法按照Ubuntu下的常规方法安装ROS,需要通过ROSXavier进行安装,安装步骤十分简单:
git clone https://github.com/jetsonhacks/installROSXavier.git
cd installROSXavier
./installROSXavier
安装好后在终端输入roscore
检查能否正常启动,如果不能,则打开.bashrc文件
sudo gedit ~/.bashrc
在后边加入如下两行即可
export LD_LIBRARY_PATH=/opt/ros/melodic/lib
export LC_ALL="C"
安装Anaconda
Xavier无法安装Anaconda,但是有替代品,名字是miniforge,miniforge与miniconda的区别在于miniforge的下载通道是conda-forge,两者使用起来并无区别。
下载
- miniforge的github地址:https://github.com/conda-forge/miniforge
- miniforge的.sh release下载地址:https://github.com/conda-forge/miniforge/releases
安装
sh Miniforge-pypy3-xxx-Linux-aarch64.sh
修改镜像源加速
在终端输入
# 清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
执行完以上命令会在当前用户目录下生成一个.condarc文件,运行cat ~/.condarc
可命令查看文件内容
安装PyTorch
同样的,使用常规conda方式无法正常安装PyTorch,Nvidia官方为我们提供了.whl文件
下载
根据自己的JetPack版本和Python版本(JetPack4.4中CUDA版本为10.2,JetPack4.2/4.3中CUDA版本为10.0),从Nvidia官网选择所需要的PyTorch进行下载,如下图所示:
若网站无法打开则需要翻墙
安装
Python2.7与Python3.6安装方式不同:
-> Python 2.7
sudo apt-get install libopenblas-base libopenmpi-dev
pip install future torch-1.4.0-cp27-cp27mu-linux_aarch64.whl
-> Python 3.6
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
pip3 install numpy torch-1.4.0-cp36-cp36m-linux_aarch64.whl
安装torchvision
PyTorch与torchvision版本对应关系如下:
- PyTorch v1.0 - torchvision v0.2.2
- PyTorch v1.1 - torchvision v0.3.0
- PyTorch v1.2 - torchvision v0.4.0
- PyTorch v1.3 - torchvision v0.4.2
- PyTorch v1.4 - torchvision v0.5.0
- PyTorch v1.5 - torchvision v0.6.0
选择与自己PyTorch版本对应进行下载:
sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch <version> https://github.com/pytorch/vision torchvision # 将‘ <version> ’改为所需要的版本号,如:‘ v0.3.0 ’
cd torchvision
sudo python setup.py install
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
安装Scipy、Numba等其他依赖库
在普通电脑Ubuntu环境下,我们可以使用pip3 install scipy
直接安装,而Xavier中安装方式不太一样,以Scipy为例:
sudo apt-get install libatlas-base-dev gfortran
pip3 install -U scipy --user
而安装Numba则更为复杂,需要先安装LLVM才能安装Numba,在这里就不一一举例了,github:jetson-packages-family为我们整理了包括Matplotlib、Pycuda、Pillow、Pandas在内的多个常用依赖库在Xavier平台下的安装方法,甚至还有VSCode、Pycharm、Docker、Qt5等工具的安装方式,大家可自行查看