zoukankan      html  css  js  c++  java
  • windows10下安装tensorflow

    本文首发在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:ProgramDataNVIDIA CorporationCUDA Samplesv8.0,选择与本机Visual Studio相对应的Solution版本,这里选择的是Sample_vs2015.sln。然后分别编译Release和Debug版本。 
    这里写图片描述

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

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

    这里写图片描述

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

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

    刚好为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 ,也许是网络不稳定。强烈建议挂*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
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    依次执行下面的代码:

    activate tensorflow
    conda install jupyter
    conda install scipy
    pip install tensorflow
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4

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

    下面依次贴图说明:

    • 先激活tensorflow:
    activate tensorflow
    • 1
    • 1
    • 安装juypter 
      再继续输入:
    conda install jupyter
    • 1
    • 1

    图 
    这里写图片描述

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

    这里写图片描述

    • 安装tensorflow

    这里写图片描述
    或直接下载到本地来安装,去https://pypi.python.org/pypi 搜索对应的版本:

    • tensorflow 非gpu: python 2.7 和 3.5

    这里写图片描述

    • tensorflow-gpu: python 3.5

    这里写图片描述

    本地安装 
    这里写图片描述

    在juypter下测试
    打开juypter下测试MNIST 数据集 
    打开Notebook环境

    测试代码:

    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}))#结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    测试代码截图如下: 
    测试截图

    与官网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来了。

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

  • 相关阅读:
    mac xcode c++ cin cout注意细节一
    linux c++编译问题和虚拟机网络通信
    cocos2d之列表容器节点再排序
    cocos2d之z轴位置示例
    cocos2d之json使用实例
    绑定方法与非绑定方法
    Python 多态与抽象类
    面向对象
    面向对象之继承与派生
    面向对象之类与对象
  • 原文地址:https://www.cnblogs.com/gaot/p/7709693.html
Copyright © 2011-2022 走看看