首先要声明的是,在Jetson TX2上安装的是Tensorflow for Jetson Platform,而不是标准的Tensorflow。在文档Installing TensorFlow For Jetson Platform中说得很明白,Tensorflow for Jetson Platform是在移动端上使用Tensorflow的另一种选择(相对Tensorflow Lite,注意Tensorflow Lite不能做训练的)。下面的内容大部分是从官方文章摘录的,也可以直接去看官网,这里只是做一个记录。
另外在使用pip3进行软件安装时,会有一个warning,提示cache目录的权限问题,网上说不要使用sudo,直接使用pip3 install(但是我没有试过)。
使用XShell运行“安装Python依赖”时,会一直弹窗口,要求安装XManager,我怀疑是需要桌面,所以最好还是直接在TX2上的终端里执行。
参考的另一篇文章:TensorFlow for Jetson TX2!
一、系统需求和依赖
1、已经安装了JetPack(其实就是已经刷机了)
2、安装系统依赖
$ 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
3、安装pip3(setuptools官网现在最新版本是53,不过49.6估计没啥问题)
$ sudo apt-get install python3-pip
$ sudo pip3 install -U pip testresources setuptools==49.6.0
4、安装Python依赖(注意,涉及到版本号的,最好是去官网看最新的)
$ sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
可以参看TensorFlow For Jetson Platform Release Notes来检查Python依赖包版本和Tensorflow版本的对应关系。
二、安装Tensorflow
1、如果要安装和JetPack 4.5对应的最新版本Tensorflow(--pre 表示允许安装pre版本)
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow
注意,如果没有VPN,很难直接安装成功,需要下载大概270M的东西。而在arm64上的VPN也不方便找。这个时候可以手工访问上述地址,下载对应的whl文件到本地进行安装。
打开https://developer.download.nvidia.com/compute/redist/jp/v45,可以看到有两个whl文件:
根据需要下载到本地,然后使用如下命令进行安装:
$ sudo pip3 install tensorflow-2.3.1+nv20.12-cp36-cp36m-linux_aarch64.whl
注意:如果使用sudo来安装,会有一个警告说
如果不使用sudo,会有另一个警告,并且将脚本安装到/home/xxx/.local/bin目录下,这个时候你可以将此路径加入到PATH中去也是可以的:
方法:修改~/.bashrc文件,将export PATH=/home/xxx/.local/bin/:$PATH 放到最后,然后source一下.bashrc文件即可。
三、验证安装
进入Python命令行,然后检查是否安装成功
$ python3
>>>import tensorflow
>>>print(tensorflow.__version__)