前两天在Ubuntu下安装TensorFlow,走了些弯路,因此想到写一篇博客mark一下。主要是TensorFlow-GPU和Cuda跟cuDNN的版本匹配问题。
第一步 创建Virtualenv环境 #参考面向机器智能的TensorFlow实践
# Python 2.7
$ sudo apt-get install python-pip python-dev python-virtualenv
# Python 3
$ sudo apt-get install python3-pip python3-dev python3-virtualenv
接下来创建一个包含该虚拟环境的目录:
$ mkdir ~/env
利用Virtualenv命令创建虚拟环境
$ virtualenv --system-site-package ~/env/tensorflow
创建激活虚拟环境的快捷方式:
$ sudo printf '\nalias tensorflow="source ~/env/tensorflow/bin/activate"' >> ~/.bashrc
重启bash终端,输入:
$ tensorflow
即可激活虚拟环境。
第二步 安装CPU版TensorFlow 如果不需要CPU版的可跳过这一步
直接在终端输入
# Python 2.7
$ pip install tensorflow
# Python 3
$ pip3 install tensorflow
第三步 安装Bazel #参考https://docs.bazel.build/versions/master/install-ubuntu.html
安装JDK8:
$ sudo apt-get install openjdk-8-jdk
Add Bazel distribution URI as a package source (one time setup):
$ echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
$ curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
安装和更新Bazel:
$ sudo apt-get update && sudo apt-get install bazel
$ sudo apt-get upgrade bazel
第四步 安装Cuda #参考https://developer.nvidia.com/cuda-90-download-archive
登录参考中的网址,按照下图进行选择
依次输入如下命令即可完成cuda的安装,注意这里我们安装的版本是9.0而不是9.1!!!
`sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb`
`sudo apt-key add /var/cuda-repo-
`sudo apt-get update`
`sudo apt-get install cuda`
第五步 安装cuDNN #参考面向机器智能的TensorFlow实践
单击如下页面的“Download”按钮
developer.nvidia.com/cudnn
下载cuDNN 7.0.5 for Cuda 9.0 注意!!!7.1.2版本不适合TensorFlow1.6.0
选择“cuDNN 7.0.5 Library for Linux”
终端进入下载好的.tgz文件所在处,运行如下命令:
$ tar xvzf <**.tgz>
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
第六步 安装TensorFlow-GPU
$ pip install tensorflow-gpu
这个命令安装的是目前最新版的TensorFlow,目前是1.6.0。TensorFlow各个版本与cuda和cudnn的兼容问题我不清楚,但是TensorFlow1.6.0和Cuda9.0根cuDNN7.0.5是兼容的,这是本博客的重点,敲黑板!!