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

本文首发在CSDN博客:http://blog.csdn.net/xxzhangx/article/details/54379255

前几天,谷歌推出了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:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0,选择与本机Visual Studio相对应的Solution版本,这里选择的是Sample_vs2015.sln。然后分别编译Release和Debug版本。

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

编译完成后,Win+R打开命令行窗口,cd C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release,运行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:\ProgramData\NVIDIA GPU Computing Toolkit\v8.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:\Anaconda3\Scripts,用conda create —name tensorflow python=3.5 创建环境,可在env下查看参加的tensorflow环境

上面图也许会报错:

或报错:

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

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

依次执行下面的代码:

activate tensorflow
conda install jupyter
conda install scipy
pip install tensorflow

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

下面依次贴图说明:

  • 先激活tensorflow:
activate tensorflow
  • 安装juypter 再继续输入:
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 数据集

测试代码:

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下安装遇到qt[vc-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 条评论
登录 后参与评论

相关文章

来自专栏linux驱动个人学习

Linux内存描述之高端内存--Linux内存管理(五)

过去,CPU的地址总线只有32位, 32的地址总线无论是从逻辑上还是从物理上都只能描述4G的地址空间(232=4Gbit),在物理上理论上最多拥有4G内存(除了...

3221
来自专栏玄魂工作室

利用Png做持久型XSS攻击

关于文件上传漏洞,其实是老生常谈了,其实很多网站都做了很严格的控制。这里我们不去谈如何突破文件上传,而是假设我们能上传一张图片,然后当成html嵌入或者执行。 ...

1482
来自专栏逆向技术

脱壳第三讲,UPX压缩壳,以及补充壳知识

           脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 ...

2768
来自专栏小狼的世界

[每天五分钟,备战架构师-3]操作系统基本原理之存储管理

存储器是计算机系统中最重要的资源之一,任何程序和数据及各种控制用的数据结构都必须占有一定的存储空间,因此,存储管理直接影响系统性能。

962
来自专栏云计算教程系列

如何在Debian 9上安装R

R是一种开源编程语言,专门用于统计计算和图形。在R统计计算基础的支持下,它被广泛用于开发统计软件和执行数据分析。R是一种日益流行且可扩展的语言,具有活跃的社区,...

2220
来自专栏云计算与大数据

架构: UMA vs NUMA

所有处理器共享相同的内存地址空间。这种体系结构主要解决的问题是关于cache一致性。

1911
来自专栏性能与架构

nginx 负载均衡策略

1. 轮询 轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如: upstream backend { server...

3617
来自专栏沃趣科技

Oracle中的sysctl.conf内核参数

当我们对Oracle进行安装部署时,需要按照相关要求修改OS内核参数,下面对Oracle按照部署时需要修改的相关内核参数进行简单介绍。

1403
来自专栏大魏分享(微信公众号:david-share)

咦,如何通过容器同时实现:灰度发布+滚动发布?

(1) 蓝绿部署:不停止老版本,额外搞一套新版本,等测试发现新版本OK后,删除老版本。

8564
来自专栏码洞

一种简单的Failover机制

在应用结构上有这样一个业务场景,机房里部署了多个物理数据库的Proxy无状态节点,业务端通过Proxy节点间接和存储DB交互。Proxy支持了分库分表的特性,管...

1422

扫码关注云+社区

领取腾讯云代金券