本贴借鉴了作者 W,Haixin的帖子。但是实际安装时也出现了一些其他问题,这里进行补充,希望对大家有帮助。
我的电脑配置如下:
Windows10 企业版2016长期服务版
CPU i7-6700HQ
显卡 GTX960m
安装tensorflow一定要注意版本的匹配问题,否则安装了之后也无法使用。
目前亲测python3.6、cuda9.0、cudnn7.0、tensorflow-gpu1.7.0能构兼容
Python安装此处不再赘述
我在在安装Python 3.6后,选择了Anaconda5.0版本,需要注意的是安装时会提示是否将软件路径添加到环境变量中,该选项一定要勾选,否则就需要手动添加了。(图我自己没截取,就直接借用帖子里的了。就是图中红色字体的那一栏,默认是没有选中的,勾选了之后字体会变红色)
Anaconda下载地址:https://www.anaconda.com/download/。
我用的是我之前下载的5.0版本,目前最新版已经支持python3.7,我没试过行不行。
1)cuda下载地址:https://developer.nvidia.com/cuda-gpus
2)cudnn下载地址:https://developer.nvidia.com/cuda-toolkit-archive
下载前需要先进行注册。一定注意下载版本:cuda9.0和cudnn7.0
先安装cuda,安装cuda时正常安装,没有特别的地方。
安装cudnn是把压缩包解压后,将压缩包内文件拷贝到cuda的安装路径下面,我的电脑上面是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0。可以看到cudnn的几个文件夹在这里都有,考进去合并就好啦。
验证cuda和cudnn是否安装成功可以输入命令:(要注意大小写,小写的-v是不能识别的)
nvcc –V
出现下图的内容时表示成功
如果没成功的话,检查一下环境变量,把C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp两个路径添加到环境变量path中。(环境变量在哪配置想必大家装过python和java的都应该知道,这里不再赘述)
1.打开Anaconda Prompt,进入Anaconda命令行管理界面。配置清华仓库镜,分别输入两个命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
2.创建tensorflow-gpu的运行环境,输入命令:
conda create -n tensorflow-gpu python=3.6
新建一个名字叫“tensorflow-gpu”,python版本为3.6的运行环境,此环境与Anaconda中其它环境隔离。此时会提示安装一些必要的软件包,输入“y“和回车后开始安装。(此过程需要联网)
3.激活并进入环境,使后续指令在激活的环境中生效,输入命令:
conda activate tensorflow-gpu
这里需要添加一个说明(如果能执行conda activate tensorflow-gpu命令就可以跳过这一步):我的电脑装完anaconda后输入该指令提示conda命令没有activate选项。这里借鉴了清晨的光明的做法,问题得到解决。具体操作是输入命令:
conda install -n root -c pscondaenvs pscondaenvs
此时会提示安装一些软件,安装完成后我的就能执行conda activate tensorflow-gpu命令了
进入tensorflow-gpu环境后,路径前面会出现“(tensorflow-gpu)”如图所示
4.升级pip到最新版,防止稍后的安装时出现错误(亲测,版本低确实会报错)。一般在创建tensorflow-gpu环境时已经安装了pip最新版,不过为了保险起见,建议更新一下,如果是最新版的会自动跳过,输入指令:
python -m pip install --upgrade pip
5.安装tensorflow1.7.0及相应依赖包,输入指令:
pip install tensorflow-gpu==1.7.0
原帖子的作者是用了命令pip install --ignore-installed --upgrade tensorflow-gpu,这个命令是自动安装最新版本的,我安装时已经是1.13.0的版本了,安装上之后和cuda以及cudnn不兼容,无法运行。
6.验证安装情况
1).首先输入命令conda activate tensorflow-gpu进入tensorflow-gpu环境
conda activate tensorflow-gpu
2).输入python进入python环境
3).输入import tensorflow as tf没有报错表示安装成功
需要注意的是,tensorflow是安装在anaconda的新建环境tensorflow-gpu下的,进入python也要从改环境下进入,否则是不行的。这一点在配置开发软件的编译环境时也要注意进行更改。
(可以借鉴https://www.cnblogs.com/dadadechengzi/p/6656250.html)
启动Eclipse, 点击Help->Install New Software
在弹出的对话框中,点“Add”按钮Name中填Pydev,“Location”中填http://pydev.org/updates
然后一步一步装下去,如果装的过程中,报错了就重新装。
安装好pydev后,需要配置Python解释器。
在Eclipse菜单栏中,点击Windows ->Preferences.
在对话框中,点击pyDev->Interpreter - Python.点击New按钮,选择python.exe的路径(这里选择tensorflow-gpu环境下的python.exe。文件位置在anaconda安装位置的envs文件夹里)。选中后点击ok按钮保存配置。
至此就配置完成了,新建python工程后就可以正常使用了下面附一个简短代码用于测试
import tensorflow as tf
import numpy as np
def main():
x_data=np.random.rand(100)
y_data=x_data*0.1+0.2
b=tf.Variable(0.)
k=tf.Variable(0.)
y=k*x_data+b
#定义代价函数
loss=tf.reduce_mean(tf.square(y_data-y))
#梯度下降优化器
optimizer=tf.train.GradientDescentOptimizer(0.2)
#最小化代价函数
train=optimizer.minimize(loss)
#初始化变量
init=tf.global_variables_initializer()
with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
sess.run(init)
for step in range(201):
sess.run(train)
if step%20==0:
print(step,sess.run([k,b]))
print("end")
if __name__=='__main__':
main()
代码tf.Session(config=tf.ConfigProto(log_device_placement=True))设置显示键运行时的硬件位置,可以在输出栏看到程序在GPU上运行。