win10+python3.6安装tensorflow-gpu1.8.0+CUDA9.0+cuDNN7.1


以下记录为我在电脑上安装的过程(2018.4.28):

版本信息:

win10

python3.6.5

tensorflow-gpu1.8.0

CUDA9.0

cuDNN7.1


说明:

1.为啥要安装这几个?

tensorflow是微软家出的一个用来做深度学习的开源库,这个库有两个版本

一种是在CPU上运行,安装方法为:pip install tensorflow

一种是在GPU上运行,安装方法为pip install tensorflow-gpu

注意,gpu版本的库安了后想要运行必须要按CUDA和cuDNN缺一不可:-)


2.cuDNN也就几十mb而已,但CUDA可是上了gb,那么为什么还要安gpu版本的呢?

......_(:з」∠)_答案是因为跑得快

根据Tensorlayor(一个针对tensorflow库做封装的开源项目)官网上的原话:

在 GPU 上训练全连接神经网络比在 CPU 上训练往往要快 10~20 倍。对于卷积神经网络,往往会快 50 倍。这需要有一个 NIVIDA 的 GPU,以及安装 CUDA 和 cuDNN。


3.那么什么是CUDA和cuDNN呢?

这是英伟达家出的两个软件,用来使GPU具备做深度学习计算的能力


安装:

首先,python3的安装直接去官网找个安装包安装就行了,但注意,就目前来说python3.6以上的版本以及所有的32位版本 还不支持tensorflow库,所以安装的时候请选择python3.6以及以下的64位版本进行安装

然后,受网上教程的指导,我直接去英伟达家下了个最新版的CUDA,结果安好tensorflow-gpu后才发现,最新的tensorflow-gpu1.8.0需要CUDA9.0,所以我建议大家先用pip install tensorflow-gpu安装好后,运行以下程序看看报什么错误,再安装所需的CUDA。由于我已经安装好了,我就贴下第一次运行之后应该报的正确信息:

E:\extrasoftware\Python3.6\python.exe C:/Users/tangc/Desktop/tensor/tensor_cuda_test.py
E:\extrasoftware\Python3.6\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
2018-04-28 16:35:54.797458: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-04-28 16:35:55.867494: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1356] Found device 0 with properties:
name: GeForce GTX 960M major: 5 minor: 0 memoryClockRate(GHz): 1.176
pciBusID: 0000:01:00.0
totalMemory: 4.00GiB freeMemory: 3.35GiB
2018-04-28 16:35:55.867948: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1435] Adding visible gpu devices: 0
2018-04-28 16:38:16.395720: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-04-28 16:38:16.395909: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:929]      0
2018-04-28 16:38:16.396099: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:942] 0:   N
2018-04-28 16:38:16.396584: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 3083 MB memory) -> physical GPU (device: 0, name: GeForce GTX 960M, pci bus id: 0000:01:00.0, compute capability: 5.0)
b'hhh'

相应的python脚本为:

import tensorflow as tf
import numpy as np
hello=tf.constant('hhh')
sess=tf.Session()
print (sess.run(hello))

如果没有安装好CUDA和cuDNN,python编辑器会告诉你应该去下载哪个版本的软件。


然后是CUDA和cuDNN的安装

CUDA:点击打开链接

cuDNN:点击打开链接

具体安装步骤篇幅太长了就不写了,网上教程很多,都没有什么大错误,

注意:

1.安装完之后需要在环境变量中添加对应的目录,不然python找不到相应文件和程序

2.CUDA成功安装后可以在命令行(cmd)中用nvcc -V查看对应信息

2.cuDNN下载前需要先注册


接着,就可以愉快地用GPU进行深度学习了~


文章作者: 唐晨
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 唐晨 !
评论
 上一篇
Docker容器的创建、启动、和停止 Docker容器的创建、启动、和停止
1、容器是独立运行的一个或一组应用,及他们的运行环境。容器是Docker中的一个重要的概念。 2、docker容器的启动有三种方式 a.交互方式,基于镜像新建容器并启动 例如我们可以启动一个容器,打印出当前的日历表 [root@roc
2019-07-05
下一篇 
fiddler软件抓包乱码问题以及https抓不到问题解决 fiddler软件抓包乱码问题以及https抓不到问题解决
环境:fiddler4 windows 10在第一次抓包的时候,我发现在Response一栏,除了Header文本正常之外,其他的文本是乱码状态: 我一开始以为是编码格式的问题,但后来发现网上有说是压缩的关系,得使用decode,但按下
2018-03-29
  目录