• TensorFlow在Windows上的CPU版本和GPU版本的安装指南(亲测有效)


    安装说明

    平台:Window、Ubuntu、Mac等操作系统

    版本:支持GPU版本和CPU版本

    安装方式:pip方式、Anaconda方式

    attention:

    在Windows上目前支持python3.5.x

    GPU版本可支持CUDA9.0、Cudnn7.0

    安装过程

    CUDA简介

    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
    计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。现在,该架构已应用于GeForce™(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上。
    来自百度百科。

    Anaconda简介

    Anaconda是由Python提供支持的领先的开放数据科学平台。 Anaconda的开源版本是Python和R的高性能分发版本,包括超过100个用于数据科学的最流行的Python,R和Scala软件包。
    来自Anaconda官方下载页面
    具体使用见Anaconda官方教程,简单易懂!

    Anaconda安装过程

    1. 下载Anaconda安装包:官方网址
      1. 我下载的是:Anaconda3-5.0.1-Windows-x86_64(内含python3.6) 
    2. 检查Anaconda是否安装成功:conda --version

      (成功第一步,继续向前进)
    3. 检测目前安装了哪些环境:conda info --envs

      (正常情况下只有一个base,新手还要慢慢来吧)

    4. 检查目前有哪些版本的python可以安装:conda search --full-name python

    5. 安装不同版本的python:conda create --name tensorflow python=3.5 (为了保持版本一致,还是尽量选择3.5的吧)
    6. 根据提示,激活TensorFlow:activate tensorflow
      (可以看到前面有个tensorflow的标志)
    7. 确保tensorflow环境已经被成功添加:conda info --envs
    8. 检查当前使用环境的python版本:python --version
    9. 退出当前环境:deactivate
      (tensorflow的标志没有啦,如果想进去再用activate tensorflow)

    TensorFlow-CPU安装

    1. 由于已经具有好了python3.5环境,现在使用Anaconda安装CPU版本的tensorflow:
      pip install tensorflow

      或者不行的话可以安装其他的镜像文件,比如:pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl

    2. 确定tensorflow已经安装成功
      1. 错误尝试:直接在cmd中输入python,再输入
        import tensorflow as tf

        显示错误,因为默认的python版本为3.6.正确的做法是进入anaconda里面的3.5的python版本

      2. 正确做法:首先通过activate tensorflow进入tensorflow环境,再输入python,并导入框架:
        import tensorflow as tf

        至此,TensorFlow-CPU版本就安装完成了。

    3. 进入Anaconda Prompt-python里面,进入安装的名叫tensorflow的环境(我们装的python3.5.2记得吗?~),键入python,然后再键入import tensorflow as tf
      在这里可以找到Anaconda Prompt-python
    4. 打开Anaconda Navigator(开始菜单->Anaconda 3->Anaconda Navigator),搞一个spyder玩,点击spyder下面的“install”,安装好就变成“Launch”了,点击就可以进去了。在spyder里对tensorflow说Hello! (或者可以安装pycharm进行编辑)

    TensorFlow-GPU安装

    1. 安装CUDA9.0
      1.   检查自己的电脑显卡支持CUDA后进行安装,我在安装之前先是看了几个大牛的博客。预先知道了目前tensorflow目前支持CUDA8.0和对应的CUDNN5.1版本(所以安装了这两个之后安装tensorflow-gpu之后测试说提示我:

        could not find 'cudart64_90.dll' 这个提示意思是需要安装CUDA9.0)

        可能是tensorflow升级了目前支持CUDA9.0和CUDNN7了,所以我后来又安装了CUDA9.0和CUDNN7

        CUDA官网(https://developer.nvidia.com/cuda-downloads)最新是CUDA9.1了

        所以我选择下载历史版本CUDA9.0(https://developer.nvidia.com/cuda-toolkit-archive)

        注:最好是下载local版本,不要下载network版本,以免安装又出什么岔子

        下载安装好了之后不要忘记系统环境配置

        CUDA_PATH:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0  

        CUDA_BIN_PATH:%CUDA_PATH%in   

        CUDA_LIB_PATH:%CUDA_PATH%libWin32  

        CUDA_SDK_BIN:%CUDA_SDK_PATH%inWin64   

        CUDA_SDK_LIB:%CUDA_SDK_PATH%commonlibx64   

        CUDA_SDK_PATH:C:ProgramDataNVIDIA CorporationCUDA Samplesv8.0 

    2. 下载Cudnn7.0
      1.   下载CuDNN,进了下载网站(https://developer.nvidia.com/rdp/form/cudnn-download-survey),你会发现他要让你注册了才能下载,过程比较烦。所以我直接在CSDN下载页面花了两积分下载的CuDNN7,亲测能用。(http://download.csdn.net/download/qq_34364066/10123615)​,下载后得到的是一个压缩包,将解压的文件夹复制到安装的CUDA【C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0】的目录下即可。
    3. 安装GPU版本TensorFlow
      1.   

        因为之前一直用,所以就用之前下载好的安装包,我的安装包是Anaconda3.4.2版本的Anaconda3-4.2.0-Windows-x86_64.exe,支持python3.5。

        安装之后,在新建tensorflow环境。

        conda create -n tensorflow-gpu python=3.5

        新建好环境之后激活activate tensorflow-gpu,在环境里利用pip安装

        pip install --upgrade --ignore-installed tensorflow-gpu

        测试安装成功的小例子:

        python //进入python命令模式

        import tensorflow as tf
        hello=tf.constant("Hello,tensorflow!")
        s=tf.Session()
        print (s.run(hello))

        顺利打印出b"Hello,tensorflow!"说明成功,

        exit()//退出python命令模式

    4. 配置pycharm软件
      1.   

        安装并破解PyCharm:

        直接在官网下载相关版本的PyCharm(http://www.jetbrains.com/pycharm/download/#section=windows),安装的是专业版,安装过程很简单,重要的是安装成功后的激活过程。

        破解教程如下,博主讲解的很是详细。

        http://blog.csdn.net/weixin_40190468/article/details/79084941

        配置PyCharm:

        在PyCarm下配置tensorflow环境,要设置好pycharm下解释器的interpreter的路径【File --> Setting --> Project --> Project Interpreter】,也就是anaconda中tensorflow-gpu的路径。

        在pycharm中测试刚刚的小例子输出成功,则安装成功。

    TensorFlow例程

     装了个新东西,我们先把它用起来吧!

    概念什么的跑完第一个小程序再看!
    找点成就感才好继续下去!
    示例来源:MINIST For ML Beginners

    MINST数据集:

    1. 55000训练集,10000测试集,5000验证集
    2. 每张图片都是28pixels*28pixels
    代码如下:
    #获得数据集
    from tensorflow.examples.tutorials.mnist import input_data
    mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
    
    import tensorflow as tf
    
    #输入图像数据占位符
    x = tf.placeholder(tf.float32, [None, 784])
    
    #权值和偏差
    W = tf.Variable(tf.zeros([784, 10]))
    b = tf.Variable(tf.zeros([10]))
    
    #使用softmax模型
    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]))
    
    #使用梯度下降算法优化:学习速率为0.5
    train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
    
    #Session
    sess = tf.InteractiveSession()
    
    #初始化变量
    tf.global_variables_initializer().run()
    
    #训练模型,训练1000次
    for _ 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}))

    运行结果为输出显示得到模型的准确率

    总结

    TensorFlow的CPU版本安装过程注意要在tensorflow的环境中运行,那里的python版本为3.5。若没有进入tensorflow环境运行,则是在Anaconda固有的3.6版本python中运行

    TensorFlow的GPU版本一定要注意CUDA和Cudnn两者之间的版本对应关系,否则将无法运行TensorFlow,具体对应情况可在官网查看

    感悟:cuda 8.0+cudnn 6.0+TensorFlow 1.30
    cuda 9.0+cudnn 7.0+TensorFlow 1.70

    参考

    https://blog.csdn.net/yygydok/article/details/79783002

    https://blog.csdn.net/darlingwood2013/article/details/60322258

  • 相关阅读:
    【Unity】自定义编辑器窗口——拓展编辑器功能
    【Unity】AssetBundle的使用——打包/解包
    【Unity】使用Resources类管理资源
    【Unity】使用AssetDatabase编辑器资源管理
    【Unity】协程Coroutine及Yield常见用法
    【Unity】制作简易定时器(Timer)
    python3使用csv模块读写csv文件
    Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题
    MongoDB服务无法启动,发生服务特定错误:100
    ValueError: update only works with $ operators
  • 原文地址:https://www.cnblogs.com/ipersevere/p/10758812.html
Copyright © 2020-2023  润新知