【问题标题】:How to install TensorFlow on Windows?如何在 Windows 上安装 TensorFlow?
【发布时间】:2016-04-19 12:46:59
【问题描述】:

我开始使用 TensorFlow 库进行深度学习,https://www.tensorflow.org/

我找到了在 linux 和 Mac 上使用它的明确指南,但我没有找到如何在 Windows 下使用它。我尝试通过网络,但缺乏信息。

我将 Visual Studio 2015 用于我的项目,我正在尝试使用 Visual Studio Compiler VC14 编译库。

如何在Windows下安装和使用?

我可以将Bazel for Windows 用于生产用途吗?

【问题讨论】:

    标签: c++ windows visual-studio machine-learning tensorflow


    【解决方案1】:

    你现在不能。问题是 tensorflow 使用 bazel 构建 another Google internal tool that has been exposed as an open source project 并且它只支持 mac 和 unix。 在将 bazel 移植到 windows 或将另一个构建系统添加到 tensorflow 之前,有一点机会在 windows 上本地运行 tensorflow。

    也就是说,您可以安装 virtualbox,然后安装 docker-machine 并在其中运行带有 tensorflow 的 linux 容器。

    【讨论】:

    • 我可以手动将 Bazel 构建工具移植到 windows 吗?感谢您提供信息丰富的建议,+1。
    • 我可以将bazel fo WIndows 用于生产用途吗?
    • @ProEns08 github 页面明确警告不要将此用于严重目的。
    • 是的,它看起来像标准警告。就像 GPL 或 BSD 许可证警告一样。但是,有没有人出于严肃的目的尝试过它?
    【解决方案2】:

    以下可能对您有用:安装 Virtual Box,创建 Linux VM 并将 Linux 安装到其中。我推荐 Ubuntu,因为 Google 经常在内部使用它。然后,在 Linux VM 中安装 TensorFlow。

    【讨论】:

    • 是的,这是直接的解决方案,谢谢,+1。
    【解决方案3】:

    如何安装TensorFlow并在Windows下使用?

    2016 年 8 月 4 日更新

    Windows 10 现在有一个Ubuntu Bash 环境,又名Bash on Ubuntu on Windows,作为标准选项提供(而不是Insider Preview updates for developers)。 (StackOverflow 标记 wsl)此选项随附于 2016 年 8 月 2 日发布的 Windows 10 anniversary update(版本 1607)。这样就可以使用apt-get来安装PythonTensorFlow等软件包。

    注意:Windows 上的 Ubuntu 上的 Bash 无法访问 GPU,因此安装 TensorFlow 的所有 GPU 选项都将不起作用。

    installation instructions for Bash on Ubuntu on Windows 基本上是正确的,但只有这些步骤是必要的:
    先决条件
    启用适用于 Linux 功能的 Windows 子系统 (GUI)
    出现提示时重新启动
    在 Windows 上运行 Bash

    不再需要步骤:
    开启开发者模式
    启用适用于 Linux 的 Windows 子系统功能(命令行)

    然后使用 apt-get 安装 TensorFlow

    sudo apt-get install python3-pip python3-dev
    sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl 
    

    现在测试 TensorFlow

    $ python3
    ...
    >>> import tensorflow as tf
    >>> hello = tf.constant('Hello, TensorFlow!')
    >>> sess = tf.Session()
    >>> print(sess.run(hello))
    Hello, TensorFlow!
    >>> a = tf.constant(10)
    >>> b = tf.constant(32)
    >>> print(sess.run(a + b))
    42
    >>> exit()
    

    并运行一个实际的神经网络

    python3 -m tensorflow.models.image.mnist.convolutional
    

    较早的答案

    在了解了 Bash on Windows 的开发者预览版之后。

    参见 Scott Hanselman 的 Playing with TensorFlow on Windows,它使用了 Bash on Windows 10

    原答案

    Bazel 是问题

    TensorFlow 不是用build automation tools 制作的,比如make,而是用谷歌的内部构建工具Bazel。 Bazel 仅适用于基于Unix 的系统,例如LinuxOS X

    由于当前已发布/已知的 TensorFlow 构建方式使用 Bazel 并且 Bazel 不能在 Windows 上运行,因此无法在 Windows 上本地安装或运行 TensorFlow。

    来自Bazel FAQ

    Windows 呢?

    由于其 UNIX 传统,将 Bazel 移植到 Windows 意义重大 工作。例如,Bazel 广泛使用符号链接,它有不同的 跨 Windows 版本的支持级别。

    我们目前正在积极改进 Windows 支持,但 距离可用还有很长的路要走。

    状态

    见:TensorFlow issue #17
    见:Bazel issue #276

    解决方案

    解决方案按复杂程度和所需工作的顺序列出;从大约一个小时到甚至可能无法工作。

    1. Docker
      ~ 1 小时

    Docker installation

    Docker 是一个系统,用于构建在您的机器上运行的 Linux 操作系统的独立版本。当您通过 Docker 安装和运行 TensorFlow 时,它会将安装与您机器上预先存在的软件包完全隔离开来。

    也看TensorFlow - which Docker image to use?

    1. OS X
      ~ 1 小时

    如果您当前有运行 OS X 的 Mac,请查看:Installation for Mac OS X

    1. Linux

    recommend Linux system 往往是 Ubuntu 14.04 LTS (Download page)。

    一个。虚拟机 - Hardware Virtualization - Full Virtualization
    ~ 3 小时

    下载并安装一个虚拟机,例如商业的VMware或免费的Virtual Box,之后你可以安装Linux,然后安装TensorFlow。

    当您安装 TensorFlow 时,您将使用Pip - Python 的包管理系统。 Visual Studio 用户应该考虑 NuGet。这些包被称为wheels

    见:Pip Installation

    如果您需要从源代码构建,请参阅:Installing From Sources
    ~ 4 小时

    注意:如果您打算使用虚拟机并且以前从未这样做过,请考虑使用 Docker 选项,因为 Docker 是虚拟机、操作系统和 TensorFlow 打包在一起的。

    b. Dual boot
    ~ 3 小时

    如果您想在装有 Windows 的同一台机器上运行 TensorFlow 并使用 GPU 版本,那么您很可能必须使用此选项,因为在托管虚拟机上运行 Type 2 hypervisor 将不允许您访问 GPU。

    1. 远程机器
      ~ 4 小时

    如果您有 remote access 到另一台可以安装 Linux 操作系统和 TensorFlow 软件并允许远程连接的计算机,那么您可以使用您的 Windows 计算机将远程计算机显示为在 Windows 上运行的应用程序。

    1. 云服务
      我没有这方面的经验。如果您知道,请编辑答案。

    正在使用Cloud 服务,例如AWS

    来自TensorFlow Features

    想要在云中将模型作为服务运行? 使用 Docker 和 TensorFlow 进行容器化即可。

    来自Docker

    在 AWS 上运行 Docker 提供了一种高度可靠、低成本的方式 快速构建、发布和运行大规模分布式应用程序。部署 Docker 使用来自 AWS Marketplace 的 AMI。

    1. 等待 Bazel 在 Windows 上运行。

    目前看来,唯一的阻碍是 Bazel,但在 Windows 上工作的 Bazel's roadmap 列表应该在今年可用。

    列出了两个适用于 Windows 的功能:

    2016‑02  Bazel can bootstrap itself on Windows without requiring admin privileges.  
    
    2016‑12  Full Windows support for Android: Android feature set is identical for Windows and Linux/OS X.
    
    1. 手动构建 TensorFlow。
      几天或更长时间,取决于您的技能水平。我放弃了这个;要构建的子项目太多,要查找的文件太多。

    请记住,Bazel 仅用于构建 TensorFlow。如果您获得 Bazel 运行的命令以及正确的源代码和库,您应该能够在 Windows 上构建 TensorFlow。请参阅:How do I get the commands executed by Bazel

    虽然我没有对此进行更多研究,但您可以查看 continuous integration 信息以获取所需文件以及如何构建它以进行测试的信息。 (Readme) (site)

    1. 在 Windows 上构建 Bazel
      几天或更长时间,取决于您的技能水平。我也放弃了这个;找不到 Windows 所需的必要源文件。

    Bazel that boots on Windows的公开实验源码版本。您也许可以利用这一点让 Bazel 在 Windows 等上工作。

    这些解决方案还需要使用CygwinMinGW,这又增加了一层复杂性。

    1. 使用替代构建系统,例如 Make
      如果你让这个工作,我想在 GitHub 上看到。

    TensorFlow 目前不存在此功能。这是一个功能请求。

    见:TensorFlow issue 380

    1. 交叉构建
      如果你让这个工作,我想在 GitHub 上看到。

    您使用 Bazel 在 Linux 上构建 TensorFlow,但更改构建过程以输出可以安装在 Windows 上的轮子。这将需要 Bazel 的详细知识来更改配置,并找到适用于 Windows 的源代码和库。我只建议作为最后的选择。这甚至可能是不可能的。

    1. 在适用于 Linux 的新 Windows 子系统上运行。

    见:Windows Subsystem for Linux Overview

    通过阅读参考文章,您将和我一样了解。

    我可以将 Bazel for Windows 用于生产用途吗?

    由于它是实验性软件,我不会在生产机器上使用。

    请记住,您只需要 Bazel 即可构建 TensorFlow。所以在非生产机器上使用实验代码构建wheel,然后在生产机器上安装轮子。见:Pip Installation

    TLDR;

    目前我有几个版本可供学习。大多数使用 VMWare 7.1 工作站来托管 Ubuntu 14.04 LTS 或 Ubuntu 15 或 Debian。我的 Windows 机器上也有一个 Ubuntu 14.04 LTS 双启动来访问 GPU,因为装有 VMware 的机器没有合适的 GPU。我建议你给这些机器至少 8G 的内存作为 RAM 或 RAM 和交换空间,因为我已经用完内存几次了。

    【讨论】:

    • 非常有用,谢谢,+1。我认为在远程 linux 桌面上使用它是最好的解决方案。
    • 不错的选择,一个我没有列出。有些人也在使用AWS等云服务。
    • 我只是将所有这些细节都放入这个答案中,因为你给了我一个这样做的借口,它应该在一个地方并公开。 StackOverflow Q&A 在 Google 上排名很高。
    • 不,我没有厌倦DMTK,因为我正在从头开始学习。为了学习基础知识,我目前正在将 Neural Networks and Deep Learning 翻译成 F#,这也有助于我学习 Python 并理解 numpy package 并观看 Andrew Ng videos
    • what do you think about the feature compared to the TensorFlow? 我实际上会把钱放在Memristor 上。一旦这些成为主流并被证明可以与神经网络一起使用,我们将告别 CPU/GPU 神经网络解决方案。深度学习概念显然会转化,甚至可能会转化为 TensorBoard 之类的工具,但我看到的其余部分将沿用 Dodo
    【解决方案4】:

    我设法在没有 Docker 的情况下在 Win8.1 上安装 TensorFlow,使用来自 https://discussions.udacity.com/t/windows-tensorflow-and-visual-studio-2015/45636

    在那之前我尝试了很多东西,我不会尝试安装它两次,但这是我所做的: - 安装 VS2015(确保也安装了 Visual C++) - 为 VS2015 安装 Python 工具 - 使用 Anaconda2 安装 Python2.7 - 为 Python 安装 pip 和 conda - 在 VS2015 中使用 pip 安装 numpy - 在 VS2015 中使用 pip 安装 tensorflow

    我没有设法用 Python3.5 做到这一点

    我还设法通过 Cloud9 在 Win8.1 上安装 Youtube上有视频教程。

    https://www.youtube.com/watch?v=kMtrOIPLpR0

    编辑:实际上对于上述情况,(不是 Cloud9 很好)我有问题: TensorFlow 看起来像已安装(在 Python 64 位 2.7 上单击解决方案资源管理器时,我可以在 VS2015 中安装的模块列表中看到它) 但是如果我输入脚本或 Python Interactive import tensorflow as TF 然后我会收到一条错误消息

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Users\Fagui\Anaconda2\lib\site-packages\tensorflow\__init__.py", line 23, in <module>
        from tensorflow.python import *
      File "C:\Users\Fagui\Anaconda2\lib\site-packages\tensorflow\python\__init__.py", line 50, in <module>
        from tensorflow.python.framework.framework_lib import *
      File "C:\Users\Fagui\Anaconda2\lib\site-packages\tensorflow\python\framework\framework_lib.py", line 62, in <module>
        from tensorflow.python.framework.ops import Graph
      File "C:\Users\Fagui\Anaconda2\lib\site-packages\tensorflow\python\framework\ops.py", line 40, in <module>
        from tensorflow.python.framework import versions
      File "C:\Users\Fagui\Anaconda2\lib\site-packages\tensorflow\python\framework\versions.py", line 24, in <module>
        from tensorflow.python import pywrap_tensorflow
      File "C:\Users\Fagui\Anaconda2\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 28, in <module>
        _pywrap_tensorflow = swig_import_helper()
      File "C:\Users\Fagui\Anaconda2\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
        import _pywrap_tensorflow
    

    【讨论】:

    • 非常有用且快速的解决方案,谢谢,+1。
    【解决方案5】:

    我可以确认它适用于 Linux 的 Windows 子系统! 而且也很直接。

    在 Windows 10 上的 Ubuntu Bash 中,首先更新包索引:

    apt-get update
    

    然后为 Python 2 安装 pip:

    sudo apt-get install python-pip python-dev
    

    安装张量流:

    sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
    

    该软件包现已安装,您可以在 MNIST 集上运行 CNN 示例:

    cd /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist
    
    python convolutional.py
    

    我现在只是测试了 CPU 包。

    我写了一篇博客:http://blog.mosthege.net/2016/05/11/running-tensorflow-with-native-linux-binaries-in-the-windows-subsystem-for-linux/

    干杯

    ~迈克尔

    【讨论】:

    • 当输入“cd /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist”时,控制台只会说“没有这样的文件或目录”,但我可以逐层手动cd访问地址。不知道你是否也有这个问题。
    【解决方案6】:

    安装 TensorFlow

    TensorFlow 目前仅支持 Python 3.5 64 位。支持 CPU 和 GPU。以下是一些安装说明,假设您没有 Python 3.5 64 位:

    1. 下载并安装 Microsoft Visual C++ 2015 Redistributable Update 3: https://www.microsoft.com/en-us/download/details.aspx?id=53587(Python 3.5 和 TensorFlow 需要)
    2. 下载并安装 Python 3.5 64 位:https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe
    3. 安装pip如下:下载https://bootstrap.pypa.io/get-pip.py,然后运行python get-pip.py
    4. 使用pip install tensorflow(CPU 版本)或pip install tensorflow-gpu(GPU 版本 --> 需要安装 CUDA)安装 TensorFlow。

    测试 TensorFlow

    您现在可以运行类似以下的命令来测试 TensorFlow 是否工作正常:

    import tensorflow as tf
    hello = tf.constant('Hello, TensorFlow!')
    sess = tf.Session()
    print(sess.run(hello))
    a = tf.constant(10)
    b = tf.constant(32)
    print(sess.run(a + b))
    

    TensorFlow 附带了一些模型,它们位于C:\Python35\Lib\site-packages\tensorflow\models\(假设您在C:\Python35 中安装了python)。比如可以在控制台运行:

    python -m tensorflow.models.image.mnist.convolutional
    

    python C:\Python35\Lib\site-packages\tensorflow\models\image\mnist\convolutional.py
    

    TensorFlow 在 Windows 上的限制

    于 2016 年 10 月 5 日在提交 2098b9abcf20d2c9694055bbfd6997bc00b73578 中添加了对在 Microsoft Windows 上构建 TensorFlow 的初始支持:

    此 PR 包含对构建 TensorFlow 的支持的初始版本 (仅限 CPU)在 Windows 上使用 CMake。它包括文档 在 Windows 上使用 CMake 构建,特定于平台的代码 在 Windows 上实现核心功能,以及用于构建的 CMake 规则 C++ 示例培训程序和 PIP 包(仅限 Python 3.5)。 CMake 规则支持使用 Visual Studio 2015 构建 TensorFlow。

    Windows 支持正在进行中,我们欢迎您提供反馈 和贡献。

    有关当前支持的功能和说明的完整详细信息 如何在 Windows 上构建 TensorFlow,请参阅文件 tensorflow/contrib/cmake/README.md.

    在 TensorFlow 0.12 RC0 (release notes) 版本中引入了 Microsoft Windows 支持:

    TensorFlow 现在可以在 Microsoft Windows 上构建和运行(在 Windows 10、Windows 7 和 Windows Server 2016 上测试)。支持的语言包括 Python(通过 pip 包)和 C++。 GPU 加速支持 CUDA 8.0 和 cuDNN 5.1。已知限制包括: 目前无法加载自定义操作库。目前不支持 GCS 和 HDFS 文件系统。以下OPS目前不能实现:DepthwiseConv2dNative,DepthwiseConv2dNativeBackpropFilter,DepthwiseConv2dNativeBackpropInput,反量化,Digamma,ERF,ERFC,Igamma,Igammac,lgamma函数,Polygamma,QuantizeAndDequantize,QuantizedAvgPool,QuantizedBatchNomWithGlobalNormalization,QuantizedBiasAdd,QuantizedConcat,QuantizedConv2D,QuantizedMatmul,QuantizedMaxPool,QuantizeDownAndShrinkRange,QuantizedRelu, QuantizedRelu6、QuantizedReshape、QuantizeV2、RequantizationRange 和 Requantize。

    【讨论】:

      【解决方案7】:

      抱歉挖掘了,不过这个问题挺热门的,现在又有了不同的答案。

      Google 正式宣布为 TensorFlow 添加 Windows(7、10 和 Server 2016)支持: developers.googleblog.com

      Python 模块可以通过一个命令使用 pip 安装:

      C:\> pip install tensorflow
      

      如果您需要 GPU 支持:

       C:\> pip install tensorflow-gpu
      

      TensorFlow manual - How to install pip on windows

      发行说明中还包含另一个有用的信息: https://github.com/tensorflow/tensorflow/releases

      UPD: 正如 cmets TF for windows 中提到的 @m02ph3u5 仅支持 Python 3.5.x Installing TensorFlow on Windows with native pip

      【讨论】:

      • 你应该提到atm官方windows版本支持Python 3.5 ONLY
      【解决方案8】:

      Tensorflow 现已正式在 Windows 中得到支持,您可以使用 Python 3.5 的pip 命令安装它,无需自己编译

      CPU 版本

      pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0-cp35-cp35m-win_amd64.whl
      

      cp35 表示python 3.5 轮子,0.12.0 版本,你可以根据自己的喜好编辑这些,或者安装最新的CPU版本可用,你可以使用

      pip install --upgrade tensorflow
      

      GPU 版本

      pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl
      

      cp35 表示python 3.5 轮子,0.12.0 版本,你可以根据自己的喜好编辑这些,或者安装最新的GPU版本可用,你可以使用

      pip install --upgrade tensorflow-gpu
      

      More Info

      【讨论】:

      • pip3 install --upgrade tensorflow 适用于 tf 1.1+
      【解决方案9】:

      按照link 在 Windows 上安装 Tensorflow,您也可以在 Visual Studio 中使用它

      【讨论】:

        【解决方案10】:

        在撰写此答案时,我无法使用 python 3.5.2 版正确安装 tensorflow。恢复到 python 3.5.0 就可以了。

        然后我就可以安装了

        C:> pip install tensorflow

        【讨论】:

          【解决方案11】:

          如果您已经在 Windows 上安装了 anaconda,我发现有一种更简单的方法:

          conda create --name snakes python=3
          

          然后

          activate snakes
          

          然后

          pip install tensorflow
          

          这类似于 virtualenv,我发现这很有帮助。

          【讨论】:

          • 应该明确conda create --name snakes python=3.5 仅支持 3.5
          猜你喜欢
          • 1970-01-01
          • 2017-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-01
          • 2021-08-23
          • 2017-04-14
          相关资源
          最近更新 更多