Tensorflow | win10中安装tensorflow-0.12.1 (0.12.1以后的版本安装均适用)

2019-02-18 15:54:22 浏览数 (1)

本文首发在CSDN博客:https://cloud.tencent.com/developer/article/1122014

前几天,谷歌推出了windows对tensorflow的支持,我参考下面两篇博文来安装了我的tensorflow。

为表示对原作者的尊敬,先列出参考的文章。

  • 参考文献

https://m.aliyun.com/yunqi/articles/68435 http://blog.csdn.net/zhuxiaoyang2000/article/details/54317206

注意:若是你的电脑支持GPU,从第一步开始安装。怎么知道是否支持GPU,在这里http://blog.csdn.net/JiaJunLee/article/details/52067962 查询,若是计算能力大于或等于3,则可以用GPU。否则直接跳到第四步

第一步:安装CUDNN

这里选择的是cuda_8.0.44_win10,链接 为:https://developer.nvidia.com/cuda-downloads

网站截图:

1.18G,下载完后,直接安装,改为自定义方式,不用修改安装目录,就安装在C盘下,方便后面的文件操作。 或去我的百度云网盘下载:链接:http://pan.baidu.com/s/1c2KdNgO 密码:gwm1

第二步:编译cuda

  • 说明 电脑必须安装Microsoft Visual Studio,10、12、13、15,这4个版本任意一个都可以。

安装完成后,打开Sample路径:C:ProgramDataNVIDIA CorporationCUDA Samplesv8.0,选择与本机Visual Studio相对应的Solution版本,这里选择的是Sample_vs2015.sln。然后分别编译Release和Debug版本。

然后漫长的等待,对Release编译一次,然后切换到Debug下,编译一次。图中发现我的编译在某些库上报错了,其原因我也不知道,但是对后面的运行暂时没发现错误。

编译完成后,Win R打开命令行窗口,cd C:ProgramDataNVIDIA CorporationCUDA Samplesv8.0binwin64Release,运行deviceQuery,如果显示如下画面,则安装成功。

说明下如何检查自己电脑时候支持GPU的情况:

调试—开始执行(不调试),会有弹窗,文字中有说明。

刚好为3.0,满足GPU计算的最低要求,热泪盈眶啊,这可是我们实验室最好电脑啊!

关于GPU计算能力系列,可查博客http://blog.csdn.net/JiaJunLee/article/details/52067962,感谢这为博主的分享!么么哒!

第三步:安装cuDNN

这里我不知道为什么要安装,在参考文章中有说要安装,那就根据别人成功的例子来,少踩坑。

版本号:cudnn-8.0-windows-x64-v5.1,这里可以直接用的,百度云链接:链接:http://pan.baidu.com/s/1gf9ior5 密码:so8m

我是将cudnn中的文件直接放在目录 C:ProgramDataNVIDIA GPU Computing Toolkitv8.0

第四步:安装python

这里采用的是anaconda 4.2 python 3.5,下载网址:https://www.continuum.io/downloads

或者去我的百度云下载:链接:http://pan.baidu.com/s/1nuQqMPr 密码:gl4h

第五步:安装tensorflow

完全根据文章中的流程来做,链接https://m.aliyun.com/yunqi/articles/68435

下载完后安装好,然后打开cmd,切换到anaconda4的scripts下:cd E:Anaconda3Scripts,用conda create —name tensorflow python=3.5 创建环境,可在env下查看参加的tensorflow环境

上面图也许会报错:

或报错:

我是反复的尝试,执行conda create –name tensorflow python=3.5 ,也许是网络不稳定。强烈建议挂*V*** 或去‘C:Users用户名’下打开’.condarc’,删掉pypi的那个源,剩下的为:

代码语言:javascript复制
channels:
  - r
  - http://repo.continuum.io/pkgs/pro/win-64/
  - http://repo.continuum.io/pkgs/r/win-64/
  - http://repo.continuum.io/pkgs/free/win-64/
  - https://repo.continuum.io/pkgs/pro/win-64/
  - defaults
auto_update_conda: false

依次执行下面的代码:

代码语言:javascript复制
activate tensorflow
conda install jupyter
conda install scipy
pip install tensorflow

注意:每次提示都选择“y”或“是”,下载时最好能连上V**,这样能保证下载稳定少出错。

下面依次贴图说明:

  • 先激活tensorflow:
代码语言:javascript复制
activate tensorflow
  • 安装juypter 再继续输入:
代码语言:javascript复制
conda install jupyter

  • 安装常用的python包,例如scipy

  • 安装tensorflow

或直接下载到本地来安装,去https://pypi.python.org/pypi 搜索对应的版本:

  • tensorflow 非gpu: python 2.7 和 3.5

  • tensorflow-gpu: python 3.5

本地安装

在juypter下测试: 打开juypter下测试MNIST 数据集

测试代码:

代码语言:javascript复制
import tensorflow as tf
x = tf.placeholder(tf.float32, [None, 784])
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W)   b)
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)

for i in range(1000):
  batch_xs, batch_ys = mnist.train.next_batch(100)
  sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))#结果

测试代码截图如下:

与官网https://www.tensorflow.org/versions/r0.12/tutorials/mnist/beginners/index.html结果比较:

一些可能的错误

欢迎补充 仅列下我遇到的问题

  • 安装过程中报错了,再次pip install tensorflow 却显示已经存在,可以用 pip uninstall tensorflow 卸载,重新pip install tensorflow 来安装。

  • 在anaconda2下安装遇到qtvc-14的问题 报错内容: Linking packages … PaddingError: Placeholder of length ‘30’ too short in package qt-5.6.2-vc14_0.% The package must be rebuilt with conda-build > 2.0.

方案: 1、换到anaconda3下就没有了,tensorflow不支持python2.7 2、conda update conda,然后conda update –all 下

第2个方案更靠谱些

  • 若是电脑的系统升级了,例如从win8.1到Win10,很有可能破坏tensorflow 所依赖的cuda环境,这个时候你需要卸载cuda,下载合适的cuda从头再来,把上面的流程再走一次。对,说的就是我,系统升级了,bug来了。

若是有错,还望指正,谢谢!

0 人点赞