之前写过关于windows下安装支持GPU的matconvnet以及tensorflow的博客,具体参照:
https://blog.csdn.net/edward_zcl/article/details/79827511
https://blog.csdn.net/edward_zcl/article/details/80170910
这次稍微记录下ubuntu下安装支持gpu版的tensorflow吧,毕竟我觉得还是挺简单的。。
系统:Ubuntu16.04
########################################## START#############################################
前提是你已经安装好了python3安装方式我就不介绍了,anaconda或者单独安装方式,然后软连接硬连接之类的。。
参考:https://blog.csdn.net/FHXTYBT/article/details/71122865
另外pip很重要,关于安装pip如下:
Install pip and virtualenv for Ubuntu 16.04LTS Maverick and newer,输入下面命令
$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv
For older versions of Ubuntu
Install Easy Install
$ sudo apt-get install python-setuptools python-dev build-essential
Install pip
$ sudo easy_install pip
Install virtualenv
$ sudo pip install --upgrade virtualenv
安装mysql
apt-get install mysql-server
如果上面不好用,请用下面方法试试:
For Python 3
sudo apt-get install python3-pip
For Python 2
sudo apt-get install python-pip
其他情况就请百度复制粘贴,自行查找原因吧。。
注意:安装之前一定要先把CUDA和cuDNN的版本搞清楚了,因为CUDA与cuDNN的版本必须要和Tensorflow的版本对应上,否则即使安装成功,最后在python环境里导入tensorflow时也会报错。如下图所示,本文选择的版本是Tensorflow1.4,cuda8.0,cudnn6.0。
一、安装NVIDIA驱动
前面写过,可以参考博客点击打开链接
二、安装CUDA
1.去官网点击打开链接下载CUDA,需要注册一个账号(上外网登陆下载比较快)
注意:下载runfile(local)文件
2. 下载完成以后,找到CUDA8.0所在位置(我的是放在home目录下),终端输入:.
sudo chmod +x cuda_8.0.61_375.26_linux.run
sudo ./cuda_8.0.61_375.26_linux.run
安装过程中会有几个选项需要确认:
注意:不要安装cuda自带的显卡驱动,其他的直接选y,路径输入默认值即可
千万千万不要安装cuda第一项,其自带的显卡驱动,否则你可以看看下面如何处理驱动的,看我看醉了。。
https://blog.csdn.net/davidhopper/article/details/81144914
3. 配置环境
安装完成以后,需要把cuda路径添加到当前用户的配置文件里:
sudo gedit ~/.bashrc
将安装路径添加到文件末尾:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
然后执行如下命令使路径生效:
. ~/.bashrc
4. 验证
终端输入:
nvcc -V
可以看到cuda的版本信息:
接着尝试运行一下cuda中自带的例子:
-
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
-
sudo make
-
./deviceQuery
可以看到输出成功:
三、安装cuDNN
官网下载cuda对应版本的cudnn点击打开链接
注意:下载cuDNN v6.0 Library for Linux
下载完成以后将其解压到Cuda的目录当中,依次执行如下命令:
tar -xzvf cudnn-8.0-linux-x64-v6.0.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
Tensorflow的安装方式主要有两大类:
第一种方法最简单,其实就相当于官方帮我们把源代码进行编译得到安装包然后提供给我们直接安装,不需要我们自己再做这个事情。当然,如果你用官方编译后的包安装失败,或者你自己修改的源代码需要重新编译就可以采用第二种方法。此外,还可以根据个人情况选择安装cpu版本和gpu版本,二者的区别不大,主要区别在选择的编译包不同、gpu版本需要安装好cuda和cudnn。
下面我分别介绍这两种方法:
1. release版本安装
直接利用官方发布的release版本进行安装的话,主要有两种安装方法:pip安装和anaconda安装两种,这里只介绍pip安装方法。
依赖环境:python
这里我用的是python2.7,所以就以此为例。
(1). 安装pip:
pip及对应版本的python安装可以参考此篇博客点击打开链接
sudo apt-get install python-pip python-dev # for Python 2.7 sudo apt-get install python3-pip python3-dev # for Python 3.n
(2). 利用pip安装Tensorflow:
pip install tensorflow-gpu ==1.4.0 (注意tensorflow的版本)
安装成功后按照后面的测试方法测试一下
注:如果安装失败,就直接从官方库里下载release包(.whl文件)进行安装。先从下面选择自己对应的系统与环境:
之后再利用pip进行安装:# Python 2$ sudo pip install --upgrade $TF_BINARY_URL# Python 3$ sudo pip3 install --upgrade $TF_BINARY_URL上面编译好的二进制安装包可以在官网tensorflow的Download and Setup页面查看
2. 利用源码编译安装
利用源码编译安装相比与前面的方法就是多了一个源码编译的过程。tensorflow的编译需要用到谷歌官方的一个工具bazel。
(1)安装Bazel
按照官方教程安装即可点击打开链接
a. 安装JDK8
添加PPA源
sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install openjdk-8-jdk
安装完成后键入
java -version
若看到Java版本信息则表明JDK安装成功
b. 安装依赖包
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3
c. 安装Bazel
首先下载Bazel安装包点击打开链接
由于前面我们已经安装了JDK8,所以这里选择bazel-
然后赋予其可执行权限,运行:
sudo chmod +x bazel-0.13.0-without-jdk-installer-linux-x86_64.sh./bazel-0.13.0-without-jdk-installer-linux-x86_64.sh --user
最后添加其路径
export PATH="$PATH:$HOME/bin"
官网说也可以添加到~/.bashrc 文件中
(2)安装Tensorflow
a. 安装一些依赖项(我使用的是python2.7,所以以python2为例)
sudo apt-get install python2-pip python2-dev
sudo apt install python2-numpy swig python2-dev python2-wheel
b. 下载Tensorflow
可以从官方Github上把最新的源码clone下来(嫌克隆慢的也可以直接去官网下载点击打开链接):
$ git clone https://github.com/tensorflow/tensorflow
下载好后解压,进入tensorflow目录,输入:
./configure
配置安装信息:
注意以下几点:
1.python的安装目录
2.除了CUDA以外,其他平台都选n
3.CUDA和cuDNN的版本不要选错了
4.GCC编译器选n
配置完成后会看到最后出现
Configuration finished
c. 通过pip安装
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
cd ///tmp/tensorflow_pkg
ls
通过ls命令确认安装包名字,然后再通过pip安装,
sudo pip install /temp/tensorflow_pkg/tensorflow-
此处再推荐一个例子: https://blog.csdn.net/jiang_z_q/article/details/73264561
五. 测试
1. 进入python,键入以下代码
import tensorflow as tf
hello = tf.constant('Hello Tensorflow')
sess = tf.Session()
print(sess.run(hello))
如下图所示,则表明Tensorflow安装成功
注:红框里的两行代码参见博客点击打开链接
2. 查看tensorflow版本
在python环境中输入:
import tensorflow as tf
tf.__version__ (查看版本)
tf.__path__ (查看路径)
3. 测试运算
输入一个运算程序,如下图所示,能运用gpu顺利运算,还能显示gpu型号:
六. 卸载方法
sudo pip uninstall tensorflow # for Python 2.7
sudo pip3 uninstall tensorflow # for Python 3.n
watch -n 10 nvidia-smi #每10s 更新一次
kill pid(数字) #杀死指定进程
至此,大功告成!
###################################### END ##########################################
以上主体参考自:https://blog.csdn.net/u014797226/article/details/80229887 ,略作修改与补充。
参考链接:
http://www.tensorfly.cn/tfdoc/get_started/os_setup.html
https://blog.csdn.net/briliantly/article/details/79566013
https://www.jianshu.com/p/4b0992253626
https://www.cnblogs.com/softzrp/p/7823330.html