摘要

本人在神州笔记本(Z7-KP7SC)+双系统window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU安装和测试实现了对深度学习的环境的基本的配置的一个过程。当然这里也是借鉴了很多的网友的博客和自己的经验才完成的。如果是的安装的CPU的版本的话就本简单本人就不重复介绍了。如果是的其他的版本的请自己的查看官方推荐(在 Windows 环境中从源代码构建  |  TensorFlow)的是的版本号进行安装和测试。如果是的电脑是和我一样的配置的应该安装下面的步骤就不会有什么问题的。如果不是的话,我的步骤可以借鉴作用。如果是任何问题和bug,请私信我在CSDN给我留言评论或者是邮件(18279148786@163.com)。我将第一时间给你答复。

windo10配置的深度学习(TensorFlow1.**)环境

1 安装前须知

1.1 查看已安装显卡的运算能力

对于N卡来说,tensorflow-gpu的安装需要 CUDA 计算能力为 3.5 或更高的 NVIDIA 显卡,安装前最好先查看自己显卡的运算能力是否满足要求。进入https://developer.nvidia.com/cuda-gpus,根据自己显卡的产品系列进行查看。对于 GTX1060,选择CUDA-Enabled GeForce and TITAN Products 按钮即可查看,嫌麻烦的可以直接看下图(只截取了部分显卡的运算能力图):可以看到 GTX1060 的运算能力为 6.1,满足 tensorflow-gpu 的安装要求。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc

1.2 查看个软件的配套与版本要求

安装 tensorflow-gpu 还需要先安装Python、CUDA、cuDNN,但在安装上述依赖软件时还需根据软件的在 Windows 环境中从源代码构建  |  TensorFlow进行下载安装。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_深度学习_02

2 软件的依赖和软件安装顺序以及步骤

(1) Python ——> (2) MSVC 2015 update3 ——> (3) CUDA ——> (4) cuDNN ——> (5) tensorflow-gpu

感谢别人的经验,我已安装成功。且其依赖软件的版本配套为:
Python 3.6.5 (minAnaconda) + MSVC 2015 update3 (x64) + CUDA 9.0 + cuDNN 7.4.2 + tensorflow-gpu 1.12.0

下载地址如下:

minAnaconda:Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

MSVC 2015 update3:Download Microsoft Visual C++ 2015 Redistributable Update 3 from Official Microsoft Download Center

CUDA:https://developer.nvidia.com/cuda-toolkit-archive

cuDNN:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse51b

tensorflow-gpu:pip install tensorflow-gpu==1.8.0(这一步直接会下载并安装,所以等上面四个软件安装完后再执行这一步 可以配置相关的的软件的版本)

2.1minanaconda安装

下载链接:Miniconda — Conda documentation根据自己的需求选择自己需要的版本。如果版本太高了,你需要去清华镜像自己去下载对应的版本的文件(Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_03

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_04

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_深度学习_05

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_CUDA_06

如果电脑中未安装python,想将conda带的python安装为电脑默认的python,则在下一步中可钩选添加到”PATH“环境变量。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_07

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_08

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_CUDA_09

2.2 MSVC 2015 update3

很多博文提到了安装 CUDA 前需要安装 VS2017 或 VS2015,但这两个软件占用空间非常大,对于不做 C/C++ 开发的人,估计很多和我一样内心是拒绝的。好在通过单独下载安装上表中的 (Download Microsoft Visual C++ 2015 Redistributable Update 3 from Official Microsoft Download Center)也可以达到同样的目的。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_10

一桶操作都是安装的默认的操作,千万不要修改其他地方,这个是作为的CUDNN的源码的编译工具,一定不能修改。

2.3 CUDA的安装

其实是不需要单独安装显卡驱动的,因为 CUDA 里自带了图像显示驱动,在安装 CUDA 时可以自动覆盖掉原来的显卡驱动。

安装cuda:双击 cuda_9.0.176_win10.exe  解压到有足够空间的磁盘上:

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_深度学习_11

解压后自动启动安装程序,选择 精简 安装,然后点击下一步:基本都是按照默认的步骤进行的安装。这里有一个点注意的是你的安装的文件不管在那个地方最后都会在的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0这个路径下。但是不影响下面的安装和测试。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_CUDA_12

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_13

2.4cuDNN

再次强调:是将cudnn里的三个文件夹里的文件,复制到对应的CUDA文件夹里面,不是将文件夹直接复制过去覆盖CUDA路径下相同的文件夹!

这里还有个容易混淆的地方:装cudnn的文件夹,解压出来默认也叫作cuda,注意不要搞混了就好。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_14

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_15

2.5 tensorflow-gpu的安装

命令是pip install tensorflow-gpu==1.8.0

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_16

查看是否安装好了使用 pip list 查看所有的的安装包 

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_CUDA_17

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_深度学习_18

3代码的测试

最后的附有代码gpu的测试代码有TensorFlow1.**和TensorFlow2.0的版本的

TensorFlow-gpu1.**的测试代码

import tensorflow as tf
 
with tf.device('/cpu:0'):
    a = tf.constant([1.0,2.0,3.0],shape=[3],name='a')
    b = tf.constant([1.0,2.0,3.0],shape=[3],name='b')
with tf.device('/gpu:1'):
    c = a+b
   
#注意:allow_soft_placement=True表明:计算设备可自行选择,如果没有这个参数,会报错。
#因为不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,将会报错。
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True))
#sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))
显示的结果是的
*****************************************************************************
2017-10-10 17:44:46.428528: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-10 17:44:46.428544: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-10 17:44:46.428549: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-10-10 17:44:46.428553: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-10 17:44:46.428557: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
2017-10-10 17:44:46.547766: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:893] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2017-10-10 17:44:46.548007: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 0 with properties: 
name: GeForce GTX 1070
major: 6 minor: 1 memoryClockRate (GHz) 1.683
pciBusID 0000:01:00.0
Total memory: 7.92GiB
Free memory: 7.43GiB
2017-10-10 17:44:46.548020: I tensorflow/core/common_runtime/gpu/gpu_device.cc:976] DMA: 0 
2017-10-10 17:44:46.548024: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 0:   Y 
2017-10-10 17:44:46.548029: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1070, pci bus id: 0000:01:00.0)

结果:
[ 2.  4.  6.]

TensorFlow-gpu2.**的测试代码

import tensorflow as tf
import os

os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)

print('GPU:', tf.test.is_gpu_available())
tf.Tensor(3.0,shape-(,dtype=float32)
GPU: True
Process finished with exit code o

 Ubuntu16.04 配置的深度学习(TensorFlow1.**)环境

安装双系统时候需要分出100-200G给Ubuntu16.04 在通过只做好的U盘,然后在基本的上都是默认操作,这里提示一下,做好是选择英文安装的方式的。这样的可以避免后面出现的乱码的问题。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_19

1安装Ubuntu16.04系统

在一些新的启动的方式的电脑是不需要设置的Boot的启动项的。可能反而会发生错误的。所以需要的是在分区时候注意一下。

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_20

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_21

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_22

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_23

2配置的Ubuntu16.04的基本的环境

首先要安装显卡驱动必须是物理机,虚拟机无法安装NVIDIA显卡驱动

查看显卡型号 在终端输入:(这个是最重要的一步,如果不安装机器推荐的来安装,那就会出很多问题,而且不用配置内核程序)

# ubuntu-drivers devices

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_24

可以看到我的显卡型号三GeForce GTX 1060 ,推荐下载的显卡驱动三390和430。

3下载号相关的软件的

安装gcc  pip install gcc

安装cmkae pip install cmake

minAnaconda:Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

CUDA:https://developer.nvidia.com/cuda-toolkit-archive

cuDNN:cuDNN Archive | NVIDIA Developer

tensorflow-gpu:pip install tensorflow-gpu==1.12.0(这一步直接会下载并安装,所以等上面四个软件安装完后再执行这一步 可以配置相关的的软件的版本)

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_25

4软件的依赖和安装CUDA 、CUDNN 

4.1安装的显卡驱动

1、打开终端,首先卸载一下之前安装的(之前没有装过的就不用管了,直接从下一步开始)

$ sudo apt-get --purge remove nvidia-*
2、打开blacklist:

$ sudo gedit /etc/modprobe.d/blacklist.conf

在最后添加几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
这个地方容易出现的问题是明明把nouveau添加到了blacklist里,安装驱动的时候还是会出现这个错误,后面会讲解决办法。

保存退出。
3、接下来是针对nouveau的双重保险

这个时候在终端尝试一下

$ lsmod | grep nouveau
如果没有输出,可以忽略下面这一段,直接开始安装1080的驱动,如果仍有输出,终端输入:

$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
4、保存关闭,再尝试

$ sudo update-initramfs -u
$ lsmod | grep nouveau
#如果这样还有输出,reboot一次
应该OK了,如果不OK,再往下看。
5、开始安装驱动,记住你的驱动的.run文件的下载路径和完整文件名(如果你的版本号和我的不同,请自行修改),按Ctrl+Alt+F1进入命令界面,登入

$ sudo /etc/init.d/lightdm stop
$ sudo init 3
6、进入.run文件的下载路径,由于我的文件下载下来没有运行权限,先用chmod手动设置一下

$ chmod a+x NVIDIA-Linux-x86_64-410.78.run
$ sudo ./NVIDIA-Linux-x86_64-410.78.run -no-x-check -no-nouveau-check -no-opengl-files #这里是关闭x server,nouveau和不下载opengl文件(我也不太明白是个啥)
#之后就会开始安装程序,complete后检查一下
$ nvidia-smi
#出现大框框就ok,之后回到图像界面
$ sudo /etc/init.d/lightdm start

4.2安装CUDA9.0

1、CUDA的安装比较容易,官网下载9.0版本,选择对应系统,请下载runfile   现在CUDA已经更新到10,但我还是安装的9.0,需要找一下

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_深度学习_26

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_tensorflow_27

2、在下载文件夹终端输入(根据下载的文件名来)

$ chmod a+x cuda_9.0.176_384.81_linux.run

$ sudo ./cuda_9.0.176_384.81_linux.run
之后就会开始安装,按q退出说明文件,然后按指令输入就行,一般是yes 有一个关键是会让你选择是否安装Graphics Driver for Linux-x86_64:XXXX版本,这个地方必须选择no!否则会覆盖之前的驱动。

3、安装完毕之后,声明环境变量,终端输入

$ sudo gedit ~/.bashrc

在最后加上

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存退出

$ source ~/.bashrc

4、验证驱动版本:390.42

$ cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86_64 Kernel Module 390.42 Sat Mar 3 04:10:22 PST 2018

GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)

验证CUDA版本:9.0

$ nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2017 NVIDIA Corporation

Built on Fri_Sep__1_21:08:03_CDT_2017

Cuda compilation tools, release 9.0, V9.0.176

5、还有可能遇到的问题是没有安装gcc或者gcc版本过高需要手动进行降级,都比较好解决,我好像没有遇到这种问题,如果出现个这两种问题手动解决一下即可,很简单的。

4.3 安装cuDNN

1、在官网下载,需要注册账号,目前提供的不同版本为:(目前已经没有7.0.4了,下载7.0.5 for CUDA9.0就行)

深度学习环境配置——window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU配置_bc_28

1、在下载路径解压文件,复制到本地路径,这里解压出来的文件名比较重要,后面会要对照着看

$ tar -zxvf cudnn-9.0-linux-x64-v7.tgz
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.0.4
cuda/lib64/libcudnn_static.a
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
2、到本地cuda路径,创建软连接,终端输入,这里的文件名就参照之前解压出来的文件名对照着写,就算和我下的不是一个版本也能搞定啦

$ cd /usr/local/cuda/lib64
$ sudo chmod +r libcudnn.so.7.0.4  
$ sudo ln -sf libcudnn.so.7.0.4 libcudnn.so.7  
$ sudo ln -sf libcudnn.so.7 libcudnn.so  
$ sudo ldconfig
3、在本地cuda路径检测一下

$ ll

出现cuDNN对应的版本号就证明安装成功啦

lrwxrwxrwx  1 root root        13 3月  19 16:02 libcudnn.so -> libcudnn.so.7*
lrwxrwxrwx  1 root root        17 3月  19 16:02 libcudnn.so.7 -> libcudnn.so.7.0.4*
-rwxr-xr-x  1 root root 287641664 3月  19 16:00 libcudnn.so.7.0.4*

5环境的测试的工作

之后在终端中测试一下

$ python

import tensorflow as tf
2018-03-20 11:58:31.777375: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 0 with properties: 
name: GeForce GTX 1080 major: 6 minor: 1 memoryClockRate(GHz): 1.7715
pciBusID: 0000:01:00.0
totalMemory: 7.93GiB freeMemory: 7.55GiB

如果没有出现错误信息,就可以尝试跑程序啦。跑的时候会出现显卡的信息

表示的安装成功了。

相关的问题解决方案:

1 不要的删除的系统的python2 可能导致系统有的东西不能用。应为系统有的是依赖于python2的

博文参考

本人的配置的GTX1060(相关的深度学习的环境的驱动和软件的在百度云盘中的:链接:https://pan.baidu.com/s/1lpfr6T4QQHXaOlVvGNibJw 提取码:fv6t )

win10 + gtx1060 + cuda9.0 + Tensorflow1.8 gpu版本安装 - 简书

Win10+GTX1060 安装配置 tensorflow_Sunshine的博客-

http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu17-04-nvidia-gtx-1080-cuda-9-0-cudnn-7-0-tensorflow-1-3