前面提到Xavier是嵌入式平台,使用的是AArch64架构,与我们平时使用的Intel架构电脑不一样,故开发环境搭建方式也不一样。官方的SDK:JetPack为我们搭好了基础环境,接下来便需要根据自己的开发环境手动安装其他依赖库。本文针对开发中使用率较高的ROS、Anaconda、Pytorch以及其它依赖库,介绍其在Xavier下的安装方法。
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"
Xavier无法安装Anaconda,但是有替代品,名字是miniforge,miniforge与miniconda的区别在于miniforge的下载通道是conda-forge,两者使用起来并无区别。
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
可命令查看文件内容
同样的,使用常规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
PyTorch与torchvision版本对应关系如下:
选择与自己PyTorch版本对应进行下载:
sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch <version> https://github.com/pytorch/vision torchvision # 将‘ ’改为所需要的版本号,如:‘ 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
在普通电脑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等工具的安装方式,大家可自行查看