TX2入门(5)——cuda9.0+TensorFlow1.7+Keras

时间:2021-02-09 20:02:20

网上现有的教程大多都基于cuda8.0安装r1.3-r1.5版本,我刷机用的jetpack3.2,自带有cuda9.0+cudnn7.0+opencv3.3.1,所以必须安装r1.6-r1.8版本的tensorflow。按照各种教程折腾了好多遍,在某一次安装成功的边缘,发现之前改文件把路径弄乱了,于是乎,又重新刷机,再次安装……

总之,TensorFlow我是来来回回折腾了一星期才装好的,真是一把辛酸泪呀。把我的安装过程总结下来,给自己做个备份,也给像我一要配置cuda9.0+cudnn7.0+tensorflow r1.7的人。

1. 安装pip
wget https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py

这里总报错,我最后是删掉get-pip.py,然后把get-pip.py.1改名为get-pip.py解决的。因为我打开两个文件看了之后发现get-pip.py是一个记录文件,get-pip.py.1才是真正要下载pip的那个文件。

2. 安装Java
 
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
3. 安装其他库
sudo apt-get install zip unzip autoconf automake libtool curl zlib1g-dev maven -y
sudo apt-get install python-numpy swig python-dev python-pip python-wheel -y
4. 安装Bazel

从 https://github.com/bazelbuild/bazel/releases/ 下载 bazel-0.10.0-dist.zip,这里需要注意一下,我尝试了0.5.4和0.6.1版本的都没有成功,在前也有人说最好用0.10.0及以下的版本,所以我最后选择了0.10.0。

bazel_version=0.10.0
wget https://github.com/bazelbuild/bazel/releases/download/$bazel_version/bazel-$bazel_version-dist.zipunzip bazel-$bazel_version-dist.zip -d bazel-dist
sudo chmod -R ug+rwxbazel-distcd bazel-dist
./compile.sh 

编译很耗时,大约需要20-30分钟吧,编译完之后拷贝:

sudo cp output/bazel /usr/local/bin
5. 创建虚拟内存

由于编译tensorflow 需要大约 8GB 内存,怕内存不够用,需要先建一个虚拟内存出来。

fallocate -l 8G swapfile
chmod 600 swapfile
mkswap swapfile
sudo swapon swapfile
swapon -s

6. 安装tensorflow r1.7

我是从这里下载的人家编译好的版本,也可以从源码编译(源码编译可以参考我最后引用的博客1

作者把r1.7的whl文件分了两个部分存放的,所以需要先merge一下才可以用。

cat tensorflow-1.7.0-cp27-cp27mu-linux_aarch64.whl.part-* > tensorflow-1.7.0-cp27-cp27mu-linux_aarch64.whl
sudo pip install tensorflow-1.7.0-cp27-cp27mu-linux_aarch64.whl

更新pip:

sudo pip install --upgrade pip
7.测试
python
import tensorflow as tf

TX2入门(5)——cuda9.0+TensorFlow1.7+Keras

查看tensorflow版本:

import tensorflow as tf  
print(tf.__version__)  
8. 安装keras
sudo pip install keras

查看keras版本:

 
python
import keras 
print(keras.__version__)  

我安装keras的时候遇到了hdf5文件找不到的问题,后来发现是连接路径不对,所以又打开终端,添加了对hdf5的连接:

nvidia@tegra-ubuntu~$ sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
[sudo] password for nvidia: 
nvidia@tegra-ubuntu:/usr/lib/aarch64-linux-gnu$ sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
nvidia@tegra-ubuntu:/usr/lib/aarch64-linux-gnu$ sudo ldconfig
9. 参考

1. Nvidia Jetson TX2 上编译安装 TensorFlow r1.5

2.JETSON TX2源码编译安装tensorflow1.4.0

3. tensorflow-nvJetson