win10+cuda8.0+cudnn+Tensorflow(GPU)安装

时间:2024-04-03 11:36:56

传说中的Tensorflow终于支持windows了,下面介绍一下Win10下Tensorflow的安装与使用
准备工作:
1.python3.5(64位)目前Tensorflow只支持64位python3.5以上版本
下载链接:
https://www.python.org/ftp/python/3.5.3/python-3.5.3rc1-amd64.exe
2.安装numpy
python3.5以上自带pip模块,打开终端输入pip3 install numpy
3.cuda+cudnn
这部分参考的:
http://blog.csdn.net/sb19931201/article/details/53648615
(1).cuda v8.0安装包下载 ,还有安装指南之类的,稍微看下就行。
win10+cuda8.0+cudnn+Tensorflow(GPU)安装
根据自己的环境选择对应的版本,exe分为网络版和本地版,网络版安装包比较小,执行安装的时候再去下载需要的包;本地版安装包是直接下载完整安装包。这里建议下载本地版(网络版我试过,安装一晚上失败了…),另外建议用win10自带的edge浏览器下载,速度比谷歌啥的快多了。
下载下来后就正常安装就可以了。
(2).cuDnn库下载
下载这个安装包需要注册并且填一堆问卷,下下来以后把相关包不用安装,直接拷到cuda路径对应的文件夹下面就行(后面说)。
(3).cuda测试 
在cuda安装好后会自动下载一些example,自己运行测试一下,问题不大。
(4).关键坑(运行TensorFlow) 
当我安装完成准备开一波车的时候,出来各种错,作为年轻的老司机我讲讲经验。TensorFlow 是一个编程系统, 使用图来表示计算任务,图必须在Session(会话)里被启动. Session将图的op(操作)分发到诸如CPU或GPU之类的设备上运行。所以,这个时候你运行python然后import tensorflow as tf是不会报错的,但是当你要执行tf.Session()的时候可能就有问题了。这个时候将会调用cuda,我在这里遇到的问题是各种lib,dll加载不了。经过一番检查,定位到问题,cuda安装完成后默认的环境变量配置不对,CUDA_PATH是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,但是这样不能直接访问到bin和lib\x64下的程序包,在path中加上这两个路径即可。
再发一波车,结果还有问题…还有一个库加载不了,就是上面的cuDnn库了,很简单,解压刚才下下来的安装包,将这三个文件夹下的文件拷到CUDA对应的文件夹下面即可。 
win10+cuda8.0+cudnn+Tensorflow(GPU)安装
win10+cuda8.0+cudnn+Tensorflow(GPU)安装
这样就大功告成了。
最关键一步:
pip3 install tensorflow-gpu
哈哈哈,就这么简单,快去测试一下吧
#coding=utf-8

import tensorflow as tf
import numpy as np
hello=tf.constant('hhh')
sess=tf.Session()
print (sess.run(hello))
成功的样子:
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cublas64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cudnn64_5.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cufft64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library nvcuda.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library curand64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GTX 1060
major: 6 minor: 1 memoryClockRate (GHz) 1.6705
pciBusID 0000:01:00.0
Total memory: 6.00GiB
Free memory: 5.01GiB
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0 
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0:   Y 
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1060, pci bus id: 0000:01:00.0)
b'hhh'