win10安装Tensorflow
前提:
- 保证你的pip>=8.1版本 否则利用python -m pip install -U pip 进行升级,或下载pip源文件
确定你的显卡是否支持cuda,以及cuda版本。利用NVIDIA控制面板查看,具体请百度。
Python3.5 以上。
安装的是tensorflow的gpu版本
安装:
之前,TensorFlow还不支持Window系统,虽然可以安装,但是极其麻烦。Google在2016年11月在开发者博客中宣布新版本 TensorFlow0.12,增加了对Window系统的支持。
安装前准备:
TensorFlow有两个版本CPU和GPU版本。GPU版本需要安装CUDA和cuDNN的支持,CPU版本直接安装即可。但是GPU图像计算强于cpu版,
1.pip升级
首先查看电脑是否支持CUDA。确保你的Python版本是3.5 64位。确保你有稳定的网络连接。确保你的pip版本 >= 8.1。用 pip -V 查看当前 pip 版本,用 python -m pip install -U pip 升级pip 。
然后可以开始下载 CUDA 和 cuDNN 的安装包了,注意版本号,我的版本分别是 Ccuda_8.0.44_win10.exe和 cudnn-8.0-windows10-x64-v6.0。
2.cuda安装
本人的机器支持GPU,所以我安装的是GPU版本。
安装cuda https://developer.nvidia.com/cuda-downloads
将下载的文件解压,运行安装程序,安装过程屏幕可能会闪烁,安装时间有点长。安装之后系统变量会自动为你添加上。
测试一下是否安装成功,命令行输入nvcc –V ,看到版本信息就表示安装成功了。
3.cudnn安装
安装cuDNN 必须和cuda版本对应 https://developer.nvidia.com/cudnn 需要填写一些问卷
cuDNN是压缩包,解压之后放在需要存放的位置。需要的位置是指和cuda对应的文件夹,比如:将cuDNN文件夹bin的文件复制到cuda相应的文件夹bin下。其他的文件夹类似。
4.配置环境变量path
关键坑(运行TensorFlow)
1.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和libnvvp下的程序包,在path中加上这两个路径即可。
2.结果还有问题…还有一个库加载不了,就是上面的cuDnn库了,很简单,解压刚才下下来的安装包,将这三个文件夹下的文件拷到CUDA对应的文件夹下面即可。
这样就大功告成了。
最关键一步:
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:
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0:
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'
测试
配置完成。