写在前面:
Jetson AGX Orin是NVIDIA发布的一款小机器,具有强大的算力但是体积很小,非常方便。最近因为模型训练需求,也有幸体验了一把。笔者主要是用来处理基于tensorflow的计算程序。先后安装了Anaconda、Cuda、Cudnn、TensorFlow。现将具体安装流程记录如下。
1.Anaconda
1.进入网站:https://repo.anaconda.com/archive/ 下载aarch64的.sh安装包。如笔者下载的是Anaconda3-2023.07-2-Linux-aarch64.sh.
2.在用户文件下新建anaconda,并存放安装包。在改目录下打开终端,依次输入如下命令:
chmod +x Anaconda3-2023.07-2-Linux-aarch64.sh
./Anaconda3-2023.07-2-Linux-aarch64.sh
3.关闭终端,重新打开验证是否安装成功,输入如下命令,验证conda命令是否有效:
conda init
conda --version
如果没找到,那么将anaconda3的bin目录加入到PATH中。(命令pwd可以查看目录路径。)输入
echo 'export PATH="/home/用户名/anaconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
再验证一下。
注:该部分可以参考博文1,参考博文2,参考博文3,笔者没有添加镜像源。
1.1anaconda的作用
Anaconda拥有超过1400个软件包其中包含Conda和虚拟环境管理,他们都被包含在Anaconda Navigator中,因此无需去了解独立安装每个库。可以使用已经包含在Anaconda中的命令conda install或者pip install从Anaconda仓库中安装开源软件包。
Pip提供了Conda大部分功能,并且大多数情况下两个可以同时使用。
该部分摘取自这里。
2.创建conda环境
在安装完anaconda后,就可以用conda命令进行后续一系列包的安装了,(当然后续在安装tensorflow包的时候也可以pip命令)。在此,由于ubuntu系统不侧重于图像界面,我认为安装 anaconda还有一个作用是创建conda环境,用于保证多种不同版本tensorfow的兼容性。由于我的系统事先安装python3.8,因此我可以直接创建。命令如下:
conda activate
conda create -n [env_name] python=3.8
conda activate [env_name]
[env_name]为自己设定的conda环境名,如我命名为:TF2.1
注意:创建之前的环境是(base),创建之后打开的环境即变为(TF2.1)
3.Cuda和Cudnn
由于安装Jetpack时默认直接装上与jetson版本号适配的cuda、cudnn、TensorRT,因此,参考官方直接安装Jeypack即可。依次输入命令:
sudo apt upgrade
sudo apt update
sudo apt dist-upgrade
sudo reboot
sudo apt install nvidia-jetpack
安装完输入如下命令查看适配版本的cuda和cudnn信息(没截图):
sudo jetson_release
也可以输入如下命令查看:
sudo apt-cache show nvidia-jetpack
可以看到版本等信息。
4.TensorFlow安装
接下来就是安装TensorFlow了,我是在刚刚创建的虚拟环境中安装的。首先安装TensorFlow需要的一系列包,直接参考官方。
4.1 Tensorflow需要的一系列包
sudo apt-get update
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
4.2 pip安装和更新
sudo apt-get install python3-pip
sudo python3 -m pip install --upgrade pip
sudo pip3 install -U testresources setuptools==65.5.0
4.3 python包依赖
sudo pip3 install -U numpy==1.22 future==0.18.2 mock==3.0.5 keras_preprocessing==1.1.2 keras_applications==1.0.8 gast==0.4.0 protobuf pybind11 cython pkgconfig packaging h5py==3.7.0
4.4 Tensorflow安装
sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v512 tensorflow==2.12.0+nv23.06
注:由于我的 JetPack版本是5.1.2,因此我直接用的官方这句命令,由于需要的tensorflow是2.x版本,因此也安装的是2.12.0。nv23.06我没懂是什么意思,看官方解释是The monthly NVIDIA container version of TensorFlow,这里我也没改动。
这一步骤时间会比较久。需要安装很多
如果想指定版本,官方也给了命令:
$ sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION tensorflow==$TF_VERSION+nv$NV_VERSION
4.5 验证
验证Tensorflow是否安装成功,在虚拟环境中输入命令:
python
import tensorflow as tf
tf.__version__
看到版本信息,即安装成功。
5.图形界面vscode安装
5.1 下载安装包
vdcode已经支持arm架构,直接在vscode官方下载.deb安装包。在安装包目录打开终端安装即可。
安装命令为:
sudo dpfg -i 安装包.deb
echo code hold | dpkg --set-selections
查看安装是否成功:
code --version
5.2 打开vscode
1. 在运行环境中输入code命令即可打开vscode界面。
2.打开要运行的代码,安装python run和debug。就可以运行代码了。
注意:运行过程中会提示一些包不存在,直接按照提示,pip安装即可。
安装完之后,运行代码,速度一般,于是用jtop命令查看算力情况,发现利用率不高,并没有完全发挥到其作用,也没明白是什么原因,后续再想想,也欢迎大家给出意见。