前言
上文主要讲了使用Nvidia SDK manager 烧录系统及JETPACK软件包,本文主要将安装相关依赖并部署yolo算法。
一、安装Anaconda
Anaconda是一个包管理工具,这个工具的强大之处在于,甚至不止跨越了Python,还能在某种程度上完全隔离出一个底层环境。较为方便切换python版本等,并对所安装的依赖项进行管理,较为使用。
(不建议在系统自带的python环境进行任何折腾,血与泪的教训...隔离环境非常重要!!)
由于AGX为aarch(Arm64)架构,常用的基于X86架构的软件安装包就不可用。
由于Anaconda在官网上并和没有发布Arm64架构的软件包,不过在github上找到了源码,可以直接在此下载安装包:
redme文件有详细的安装步骤,会装一个基本的环境。
1.使用conda创建虚拟环境(环境名为py3.6,可以自己命名):
conda create --name py3.6 python=3.6
2.进入/退出conda创建的环境py3.6
# 进入conda创建的环境py3.6 conda activate py3.6 # 退出conda创建的环境py3.6 conda deactivate
3.查看当前环境安装的包
conda list
4.安装/删除包
conda install *** conda uninstall ***
5.查看现有的虚拟环境列表
conda info -e # 查看当前环境的详情 conda info
二、AGX安装torch
安装torch前一定要查看CUDA版本,版本不适用的话torch就无法使用CUDA加速,只能跑GPU
CUDA与pytorch版本对照表:
Jetpack与CUDA版本对照表:
jetpack版本 CUDA版本 4.5.1 10.2 4.5 10.2 4.4.1 10.2 本文使用的硬件设备为AGX,安装jetpack版本为4.5.1,对应的CUDA版本为10.2,故需安装版本为1.6.0的pytorch。
由于硬件架构的特殊性,安装pytorch也只能从官网下载whl,链接如下:
Pytorch for Jetson
注意:需要使用python3.6环境pip安装如上whl。
使用章节1所述的conda配置一个python3.6的虚拟环境
conda create -n py3.6 python=3.6 conda activate py3.6
安装pytorch1.6.0:
pip install numpy torch-1.6.0-cp36-cp36m-linux_aarch64.whl
进入python查看torch是否安装成功:
python >>import yorch
发现报错:
解决方法:
sudo apt-get install libopenblas-dev
发现继续报错:
这个问题搞了好久才找到解决方案:
应该是OpenBlas与内核不匹配?
使用如下语句将这句声明加入(export)系统环境变量中去,即可解决问题:
gedit ~/.bashrc export OPENBLAS_CORETYPE=ARMV8 source ~/.bashrc
终于:
如果和CUDA未连接上则需要检查CUDA是否正常安装:
nvcc -V
若jetpack正常安装CUDA但返回 nvcc: command not found
则是CUDA未添加到系统变量
gedit ~/.bashrc #给最后一行加入: export PATH=/usr/local/cuda-10.2/bin:$PATH #再回终端source一遍即可 source ~/.bashrc
这时import torch就正常了
终于安装成功了!!
三、安装torchvision
需要注意torchvision与torch版本对应
torch/torchvision版本对应 pytorch版本
torchvision版本
1.0
0.2.2
1.1
0.3.0
1.2
0.4.0
1.3
0.4.2
1.4
0.5.0
1.5
0.6.0
1.6
0.7.0
1.7
0.8.1
1.8
0.9.0
由于本文pytorch为1.6,故只能安装版本为0.7.0的torchvision
#安装相关依赖项 sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev #下载对应版本的torchvision git clone --branch v0.7.0 https://github.com/pytorch/vision vision-0.7.0 cd torchvision #添加环境变量 export BUILD_VERSION=0.7.0 #执行安装 python setup.py install --user
总结
本文主要讲了anaconda与pytorch,其中对一些在arm64架构的系统安装的坑做了详细的讲解,希望能帮助到大家,减少大家排坑时间!