第一章 Jetson Nano烧录镜像及jtop安装
查看Jetson Nano系统架构,执行命令:uname -a
可见Jetson Nano为aarch64架构(Arm64)
在Anaconda的仓库中并不存在aarch64的相关编译版本,使用Archiconda代替,下载的版本为0.2.3。参考
增加执行权限:
sudo chmod a+x Archiconda3-0.2.3-Linux-aarch64.sh
安装:
./Archiconda3-0.2.3-Linux-aarch64.sh
安装完成后,环境变量主动写入~/.bashrc中,执行命令更新环境变量,可正常使用conda命令
source ~/.bashrc
创建虚拟环境
conda create -n ll python=3.6
激活虚拟环境
conda activate ll
使用英伟达PyTorch官方安装教程安装对应JetPack版本的PyTorch。参考
由于我的JetPack版本为4.6.1,选择安装PyTorch v1.10.0版本
激活虚拟环境后执行以下命令:
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev
pip3 install Cython
pip3 install numpy torch-1.10.0-cp36-cp36m-linux_aarch64.whl
问题:import numpy 及torch时报非法指令 (核心已转储)
原因:Jetson Nano中自带安装的Numpy版本为1.13.1, 在/usr/lib/python3/dist-packages/,系统其他依赖numpy的包在调用时就会出现混乱,导致报错。参考
解决:编辑.bashrc,sudo vim ~/.bashrc,在最后一行写入export OPENBLAS_CORETYPE=ARMV8
更新bashrc文件,查看是否安装成功
>>> import numpy
>>> numpy.__version__
>>> import torch
>>> torch.__version__
>>> torch.cuda.is_available()
安装成功!Numpy版本为:1.19.5,PyTorch版本为1.10.0
官网给出了PyTorch不同版本对应的torchvision版本
PyTorch v1.10对应的torchvision版本为v0.11.1,由于torchvision依赖Pillow,首先安装Pillow,查看Pillow支持的Python版本。参考
由于虚拟环境中安装的Python版本为3.6,选择安装Pillow 8.3.2,首先安装系统依赖包
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
python3 -m pip install --upgrade Pillow==8.3.2
安装torchvision:
git clone --branch v0.11.1 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.11.1
python3 setup.py install --user
查看是否安装成功
>>> import torchvision
>>> torchvision.__version__