赞
踩
本人在神州笔记本(Z7-KP7SC)+双系统window10/Ubuntu16.04+GTX1060+CUDA9.0+CUDNN7.4.0+TensorFlow1.*-GPU安装和测试实现了对深度学习的环境的基本的配置的一个过程。当然这里也是借鉴了很多的网友的博客和自己的经验才完成的。如果是的安装的CPU的版本的话就本简单本人就不重复介绍了。如果是的其他的版本的请自己的查看官方推荐的是的版本号进行安装和测试。如果是的电脑是和我一样的配置的应该安装下面的步骤就不会有什么问题的。如果不是的话,我的步骤可以借鉴作用。如果是任何问题和bug,请私信我在CSDN给我留言评论或者是邮件。我将第一时间给你答复。
对于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 的安装要求。
安装 tensorflow-gpu 还需要先安装Python、CUDA、cuDNN,但在安装上述依赖软件时还需根据软件的在 Windows 环境中从源代码构建 | TensorFlow进行下载安装。
(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
(这一步直接会下载并安装,所以等上面四个软件安装完后再执行这一步 可以配置相关的的软件的版本)
下载链接:Miniconda — Conda documentation根据自己的需求选择自己需要的版本。如果版本太高了,你需要去清华镜像自己去下载对应的版本的文件(Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror)
如果电脑中未安装python,想将conda带的python安装为电脑默认的python,则在下一步中可钩选添加到”PATH“环境变量。
很多博文提到了安装 CUDA 前需要安装 VS2017 或 VS2015,但这两个软件占用空间非常大,对于不做 C/C++ 开发的人,估计很多和我一样内心是拒绝的。好在通过单独下载安装上表中的 (Download Microsoft Visual C++ 2015 Redistributable Update 3 from Official Microsoft Download Center)也可以达到同样的目的。
一桶操作都是安装的默认的操作,千万不要修改其他地方,这个是作为的CUDNN的源码的编译工具,一定不能修改。
其实是不需要单独安装显卡驱动的,因为 CUDA 里自带了图像显示驱动,在安装 CUDA 时可以自动覆盖掉原来的显卡驱动。
安装cuda:双击 cuda_9.0.176_win10.exe 解压到有足够空间的磁盘上:
解压后自动启动安装程序,选择 精简 安装,然后点击下一步:基本都是按照默认的步骤进行的安装。这里有一个点注意的是你的安装的文件不管在那个地方最后都会在的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0这个路径下。但是不影响下面的安装和测试。
再次强调:是将cudnn里的三个文件夹里的文件,复制到对应的CUDA文件夹里面,不是将文件夹直接复制过去覆盖CUDA路径下相同的文件夹!
这里还有个容易混淆的地方:装cudnn的文件夹,解压出来默认也叫作cuda,注意不要搞混了就好。
命令是pip install tensorflow-gpu==1.8.0
查看是否安装好了使用 pip list 查看所有的的安装包
最后的附有代码gpu的测试代码有TensorFlow1.**和TensorFlow2.0的版本的
- 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.]
- 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
安装双系统时候需要分出100-200G给Ubuntu16.04 在通过只做好的U盘,然后在基本的上都是默认操作,这里提示一下,做好是选择英文安装的方式的。这样的可以避免后面出现的乱码的问题。
在一些新的启动的方式的电脑是不需要设置的Boot的启动项的。可能反而会发生错误的。所以需要的是在分区时候注意一下。
首先要安装显卡驱动必须是物理机,虚拟机无法安装NVIDIA显卡驱动
查看显卡型号 在终端输入:(这个是最重要的一步,如果不安装机器推荐的来安装,那就会出很多问题,而且不用配置内核程序)
# ubuntu-drivers devices
可以看到我的显卡型号三GeForce GTX 1060 ,推荐下载的显卡驱动三390和430。
安装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
(这一步直接会下载并安装,所以等上面四个软件安装完后再执行这一步 可以配置相关的的软件的版本)
- 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
1、CUDA的安装比较容易,官网下载9.0版本,选择对应系统,请下载runfile 现在CUDA已经更新到10,但我还是安装的9.0,需要找一下
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版本过高需要手动进行降级,都比较好解决,我好像没有遇到这种问题,如果出现个这两种问题手动解决一下即可,很简单的。
1、在官网下载,需要注册账号,目前提供的不同版本为:(目前已经没有7.0.4了,下载7.0.5 for CUDA9.0就行)
- 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*
之后在终端中测试一下
- $ 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的博客-CSDN博客_1060 tensorflow
PyCharm+Miniconda3安装配置教程 - 诸子流 - 博客园http://blog.csdn.net/l297969586/article/details/67632608
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。