安装tensorflow(有gpu支持)前,先查看本机nvidia显卡型号,确保显卡的GPU计算能力大于3.0,具体计算能力参见:https://developer.nvidia.com/cuda-gpus
tensorflow-gpu安装过程如下:
1,安装nvidia显卡驱动
此处可参考教程:http://blog.csdn.net/feishicheng/article/details/70662094
写的非常详细!大致分为以下三个流程
(1)安装显卡切换软件,在终端中输入命令:
sudo add-apt-repository ppa:nilarimogard/webupd8 #添加PPA更新源
sudo apt-get update #刷新更新源列表
sudo apt-get install prime-indicator #安装双显卡切换指示器
(2)禁用系统默认驱动
(3)安装计算机显卡对应的官方驱动
成功安装显卡驱动后,即可通过显卡切换软件,切换当前使用的显卡类型。
2,安装CUDA及cuDNN
(1)安装CUDA,在官网上下载CUDA对应版本(https://developer.nvidia.com/cuda-toolkit-archive)
选择你想要安装的CUDA版本及安装方式(此处安装的是CUDA8.0 GA2,deb(local)版,但是下载的时候一定要注意,很容易连接不上服务器而下载失败)
下载完成后,使用md5sum校验,查看是否下载成功。在终端中输入
$ md5sum filename
将得到的校验码与官网给定的比对,相同即可。
接着按照官网给的安装指令安装CUDA
配置CUDA的环境变量:
$ gedit ~/.bashrc
在文档末尾添加:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
保存文件并关闭,使环境变量生效:
$ source ~/.bashrc
(2)安装cuDNN v5.1
在官网下载:https://developer.nvidia.com/rdp/cudnn-download,需要先注册账号(也可以直接在网上找资源)
解压cudnn-8.0-linux-x64-v5.1.tgz,将文件复制到CUDA的安装目录下
tar xvzf cudnn-8.0-linux-x64-v5.1.tgz
cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include
sudo cp lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
测试CUDA安装是否成功
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果显示的是GPU的一些信息,说明安装成功啦~~~
3,安装tensorflow-gpu版
千万不要安装bazel!!!最初一直在尝试bazel安装,不仅麻烦,还各种bug。使用pip安装,方便快捷。
(1)查看是否安装pip
pip -V
若未安装则输入命令
sudo apt-get install python-pip python-dev # for Python 2.7
(2)定位软件源,安装tensorflow
sudo pip install --upgrade tfBinaryURL #Python 2.7
sudo pip3 install --upgrade tfBinaryURL #Python 3.n
tfBinaryURL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp27-none-linux_x86_64.whl
具体的tfBinaryURL,需要根据安装的版本确定,上述给定的是tensorflow r1.1版本
其他方式可参考官网教程:https://www.tensorflow.org/install/install_linux
4,验证tensorflow-gpu版是否安装成功
可参考教程:http://geek.csdn.net/news/detail/191567
5,tensorflow中查看版本和安装路径
在python命令行中输入下述命令,查看tensorflow安装版本和安装路径:
import tensorflow as tf
tf.__version__
tf.__path__