最近nvidia官网发布了专门针对tx2的tensorflow-gpu安装包,这样将TX2上部署tensorflow的难度大大降低,只需几个步骤即可。
1 刷机jetpack3.3
首先TX2必须是3.3版本的jetpack,因为截止目前nvidia发布的tensorflow只支持3.3版本的jetpack,如图所示,日后如果有更新了可以刷其它版本的,所以第一步就是给TX2刷机。具体的刷机方法网上有很多,我这里就不再赘述。可以参考这篇文章
2 安装cuda9.0
发现刷机后在TX2上并没有安装好cuda和cudnn(不知道是不是个bug),因此需要手动安装一遍。所幸的是在刷机时,主机上有一个jetpack_download文件夹,里边有cuda和cudnn的安装文件,我们把这个文件夹拷到TX2上(我尝试只拷贝几
个安装包,安装时报错,可能是相互之间有关联,因此建议全部拷贝),然后cd进该文件夹,依次运行以下指令
#新打开终端
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af90.pub
#cd进jetpack_download文件夹
sudo dpkg -i cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb
sudo dpkg -i libcudnn7_7.1.5.14-1+cuda9.0_arm64.deb
sudo dpkg -i libcudnn7-dev_7.1.5.14-1+cuda9.0_arm64.deb
sudo apt update
sudo apt install cuda-toolkit-9.0
安装完之后,运行nvcc -V指令,可输出cuda的相关信息,表明安装成功,如果提示没有nvcc指令,证明没有安装成功
3 安装pip3
因为我想安装python3版本的tensorflow,所以需要用pip3来安装,而刷完机后默认是不带有pip和pip3的,因此需要自己装一下
我尝试过使用如下指令安装
sudo apt-get update
#或者sudo apt update?
sudo apt-get install python3-pip
但是运行时提示我找不到python3-pip的包,网上查方法都说是要更新源,我已经运行过update还不行,因此换一种安装方法
在该链接中找到get-pip.py文件,复制下来,保存在TX2本地上,然后运行以下指令即可
sudo python3 get-pip.py
4 安装tensorflow
方法一:下载安装包
在官网链接中,下载whl安装包,注意要根据python选择合适的版本,我这里选择
然后直接运行如下指令即可
sudo pip3 install tensorflow-1.8.0-cp35-cp35m-linux_aarch64.whl
如果安装时h5py这个包装不上,则先提前手动安装一下
sudo pip3 install cython
sudo apt-get install libhdf5-dev
sudo pip3 install h5py
方法二:按照官网教程,只需要运行如下指令
sudo pip3 install –extra-index-url https://developer.download.nvidia.com/compute/redist/jp33 tensorflow-gpu
但是我运行时报错如下:
SystemError: Cannot compile ‘Python.h’. Perhaps you need to install python-dev|python-devel
表示缺少一些依赖,解决方法是直接安装缺的依赖
sudo apt-get install python-dev python3-dev
安装完之后再运行上边sudo pip3 install语句即可,安装过程中要保证网络通畅,否则会报超时等错误,直接重新运行就行了。
5 验证
新打开一个终端,运行python3,然后导入tensorflow,不报错就表示安装成功
import tensorflow as tf
tf.__version__
6 卸载
卸载tensorflow也很简单,只需要一句指令
pip3 uninstall -y tensorflow-gpu
是不是很简单,赶紧在TX2上体验tensorflow吧~