Ubuntu16.04系统安装系列:
博主研究了下,参考了别人的博客,也出现了问题,然后解决。相信按照接下来的教程是可以很简单的安装TensorFlow-gpu的。
在开始之前,首先得了接大概步骤:1、安装显卡驱动2、安装cuda,3、安装cudnn,4、安装anaconda 5、创建虚拟TensorFlow环境并配置TensorFlow。6、测试是否成功。附加:安装一般的配件库。
注明:本文所有下载的东西博主都默认下载到了home文件夹中下载文件夹中。安装与解压时,请先cd到下载文件夹中。
1、安装显卡驱动
在ubuntu16.04系统中选择软件更新中的附加驱动来更新驱动。具体操作:
打开系统设置。找到软件和更新,点进去出现如下界面:
然后点击附件驱动
安装图片点击即可,一定要确保已经联网:完成后点应用更改。亲测有效。
另外还有一种方法,不过前面方法已经可以解决:这个博客博客https://blog.csdn.net/qq_30520759/article/details/78947034
最后,检查显卡驱动.]
打开终端。输入以下命令
nvidia-smi
结果如下所示。那个384.130即为你的显卡驱动的型号。
2、 安装cuda
首先要了解的是cuda,cudnn,tensorflwo对应的TensorFlow的版本,不然就会出错。相应的版本必须要对应。linux基本对应情况如下图:
确认你要安装的cudn,cudnn,tf的版本。
选择的cuda版本要和安装的驱动想匹配,下图为匹配的版本:
官网为:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
博主使用的配置是:cudn9.0,cudnn7,tensorflow-gpu.1.8.0。
先下载cudn:cuda下载 把他下载到home文件下的下载文件夹中
正式安装cudn:
a、进如home文件下的下载文件夹中,打开终端,输入命令。
sudo sh cuda_..._linux.run 红色部分为你下载的cuda版本,即下载的cuda文件的名字
b、输入命令后,回车,进入安装。安装过程中会让你选择yes or no 。第二个选项 Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? 须选择否,因为在之前已经安装好了显卡驱动,无需重新安装。具体按照下面的来选择。
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/dexter ]:
一路进行,完成。
c、添加环境变量
在终端输入: gedit ~/.bashrc
然后在打开的文件最后写入:
export PATH="$PATH:/usr/local/cuda-9.0/bin"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64"
划重点:写入的时候,一定要确认你的cuda版本号,我这里是cuda9,则就是写入上面的命令。若是你安装的是cuda8,请把这条命令中9改为8.博主在第一次的时候就搞错了,导致一直不成功。万一和博主一样这样粗心,不要紧,在文字最后面也有解决方案。
保存并关闭文件,然后在终端输入:source ~/.bashrc
如此使得环境更改生效。
d、cuda测试:
打开终端,切换到位置:~/ NVIDIA_CUDA-9.0_Samples (同样,你安装的是什么版本的cuda,就切换到那个文件夹中)
命令行输入:make (此步编译时间很长,有可能你会看到光标不动,不用理,因为确实要很久)
打开终端,切换到位置:~/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release
终端输入:./deviceQuery
如果显示类似下图,则说明CUDA安装且配置成功!
3、cudnn安装
cudnn安装就较简单了,基本上就是解压,然后复制到具体文件夹中。具体如下:
首先下载cudnn:cudnn下载
进入下载文件中,打开终端输入以下四条命令。输入一条命令后按回车,接着输入吓一跳命令:
tar xvzf cudnn-9.0-...tgz (红色部分为你下载的cudann版本,即下载的cudann文件的名字)
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
重点:一定要把9变成你所要安装的cuda版本。博主是cuda9。或者直接手动输入就不会错。
相当于解压缩+复制粘贴,手动复制粘贴也是没问题的。到此cuDNN安装完毕。
4、安装anaconda
a、下载anaconda. 链接
下载如下版本。
b、安装
进入annaconda下载的文件夹中,打开终端,输如命令:bash Anaconda...Linux-x86_64.sh (红色部分为下载的anaconda版本文件名)
c、安装时,出现让你选择yes or no ,则选yes。就会自动配置文件,可是有的时候你选择yes会一直显示说让你retry,说明这样就是配置不成功。则需要手动配置,如下:
配置文件: 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
输入命令: sudo gedit ~/.bashrc
接着就会自动打开一个文件
export PATH="$PATH:~/anaconda3/bin" 将此句填在bashrc文件末尾中,然后保存后关闭。
在输入命令: source ~/.bashrc 使得更改配置生效
d:若是要卸载anaconda:
参考:https://blog.csdn.net/qq_22474567/article/details/54984257
(1)删除整个anaconda目录: rm -rf anaconda文件夹名
(2)清理下.bashrc中的Anaconda路径:
1.到根目录下,打开终端并输入:sudo gedit ~/.bashrc
2.在.bashrc文件末尾用#号注释掉之前添加的路径(或直接删除):
#export PATH=/home/lq/anaconda3/bin:$PATH
保存并关闭文件
3.使其立即生效,在终端执行:source ~/.bashrc
4.关闭终端,然后再重启一个新的终端
e 常见点镜像源
添加中科大源
-
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
-
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
-
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
-
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
-
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
-
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
或者添加清华源
-
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
-
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
-
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
-
conda config --set show_channel_urls yes
5、创建虚拟TensorFlow环境并配置TensorFlow
a、使用conda指令创建虚拟环境
创建环境:打开终端,输入命令:conda create --name tf python=3.6 (注:tf是虚拟环境的名字,可以随便取。3.6是你要安装的Python版本,也可以指定)
环境创建完,就要激活环境:输入命令:source activate tf
附加:若要退出环境:则输入:source deactivate
若需要删除环境:conda remove -n tf --all
b、TensorFlow-gpu安装
激活环境后,在tf环境中,输入如下命令中的任何一种命令即可:
conda install -c jjhelmus tensorflow-gpu (此版本可能较低,安装后可能需要升级)
conda install -c jjhelmus/label/tflow_180 tensorflow-gpu (此版本是TensorFlow-gpu1.8.0版本,博主就是这个版本,推荐)
conda install -c jjhelmus/label/tflow_110_testing tensorflow-gpu
至此,所有配置已经完成,可以跳到第六步去试试是否正确。
还推荐一些其他的库:
安装keras:pip install keras
安装opencv3:conda install -c https://conda.anaconda.org/menpo opencv3
6、测试是否成功
官网上的测试程序。对一个线性数据进行训练的demo。
打开终端,激活环境后,输入命令:vi test.py
把代码复制进去:
import tensorflow as tf
import numpy as np
# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3
# Try to find values for W and b that compute y_data = W * x_data + b
# (We know that W should be 0.1 and b 0.3, but TensorFlow will
# figure that out for us.)
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# Before starting, initialize the variables. We will 'run' this first.
init = tf.initialize_all_variables()
# Launch the graph.
sess = tf.Session()
sess.run(init)
# Fit the line.
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(W), sess.run(b))
# Learns best fit is W: [0.1], b: [0.3]
保存退出后。输入命令:python test.py
出现如下界面即成功
成功,可以尽情嗨皮在TensorFlow的海洋里了。
最后彩蛋:既然安装了anaconda,顺便也安装下 spyder IDE。还有很常用的jupyter notebook.
打开终端,激活tf环境,输入命令:
conda install spyder
conda install jupyter notebook
如此就都安装了。打开这些直接在输入命令 spyder 回车既可以打开。
备注:若是最后出现说CUDA driver version is insufficient for CUDA runtime version。
这个问题一个解决办法是显卡驱动有问题,还有一个种可能,就是你在安装的时候,安装错了版本,比如,你想安装cuda9,可是你在配置的时候因为复制别人的代码(别人代码上写着cuda8),导致你下载的cuda版本,与你配置环境的cuda版本不同。
解决办法:去本博第二步C步骤那,打开那个文件,把版本号改成与你下载的cuda版本相同。然后重新编译,就是需要重新进行第二步中的c,d两步,然后卸载配置的虚拟TensorFlow环境,重新配置环境。其他的不用动。
还有一种解决办法:https://blog.csdn.net/li57681522/article/details/82491617