首先要保证你的GPU对CUDA的兼容性是大于等于3.0的,参考这里:
我的联想K4450笔记本配置:Win 7企业版,8G内存,64位操作系统,Intel i7-4510U处理器
自带独立显卡 NVIDIA GeForce GT 730M
一、安装CUDA® Toolkit 8.0
目前版本的tensorflow只支持8.0版本的CUDA,CUDA官网的最新版是9.0
从这里下载历史版本:
我下载的是 (Feb 2017)
原作者:"因为显卡的驱动和CUDA必须要配套的,安装CUDA前需要先卸载以前安装的显卡驱动。安装CUDA8.0后,可以发现它自带的显卡驱动版本是376.51版本。" 原作者没有第四步。
我是先卸载以前安装的显卡驱动,然后安装"Base Installer"和"Patch2",虽然安装过程中提示找不到兼容硬件,不管它,继续安装完毕。
二、安装cuDNN v6.0
需要注册一个账号,CUDA8.0对应的版本是cuDNN v6.0
下载后解压,把 bin,include 和 lib 三个文件夹复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0 目录下,和原先的目录直接合并就可以了。
三、到NVIDIA官方网站找到GeForce GT 730M笔记本显卡
我下载了最新版驱动程序版本:390.77,并安装
四、安装Anaconda
我下载的版本是 Anaconda3-5.0.1-Windows-x86_64 python3.6的版本:
安装后打开Anaconda Navigator,在Environment中新建一个环境
安装tensorflow-gpu
五、显卡选择
由于联想K4450是双显卡(Intel HD集成显卡和NVIDIA GeForce GT 730M独立先看),需要设置全局使用独立显卡
在桌面空白处点击鼠标右键,弹出下图菜单
点击"NVIDIA控制面板",按照图中红色方框操作,最后点击应用
注意:双显卡笔记本电脑若不进行上述设置,则运行 tf.Session() 时会出现 "设备是不可移动的,无法弹出或拔出" 的错误。
计算机生成了可选文字:弹出NVIDIAGeForceGT730M时出问题双NVIDIAGeForceGT730M设备是不可移动的.无法禅出或拔出。
六、CUDA环境变量
确保C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;在系统环境变量中
七、测试TensorFlow
定位到安装TensorFlow的虚拟环境目录下地址栏中,输入"python"并回车:
导入tensorflow测试:输入import tensorflow as tf 并回车
进一步输入测试代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
在输入sess=tf.Session()代码回车后,报如下错误(没有卸载显卡老驱动程序,直接安装CudaTookit,也没有安装"Patch2"):
在输入sess=tf.Session()代码回车后,报如下错误(先卸载显卡老驱动程序,直接安装CudaTookit,并安装"Patch2",安装cuDNN,安装显卡新驱动程序),运行成功,如下: