如何在Windows上安装TensorFlow?

时间:2016-01-14 09:06:14

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

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

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

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

如何在Windows下安装和使用它?

我可以使用Bazel for Windows 进行生产吗?

11 个答案:

答案 0 :(得分:65)

  

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

于2016年4月4日更新

Windows 10现在有一个Ubuntu Bash环境,即AKA 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选项都不起作用。

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

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

然后使用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

早期答案

了解Windows上Bash的开发者预览。

请参阅使用Playing with TensorFlow on Windows

的Scott Hanselman撰写的Bash on Windows 10

原始答案

Bazel是问题

TensorFlow不是使用build automation tools make,而是使用Google的内部构建工具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小时
  2. Docker installation

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

    另请参阅TensorFlow - which Docker image to use?

    1. OS X
      ~1小时
    2. 如果您有运行OS X的当前Mac,请参阅:Installation for Mac OS X

      1. 的Linux
      2. recommend Linux system往往是Ubuntu 14.04 LTSDownload 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都打包在一起。

        Dual boot
             ~3小时

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

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

          1. 云端服务
            我没有这方面的经验。如果你知道,请编辑答案。
          2. 正在使用<CloudAWS等服务。

            来自TensorFlow Features

              

            想要将模型作为云中的服务运行吗?   Docker和TensorFlow的Containerize正常工作。

            来自Docker

              

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

            1. 等待Bazel在Windows上运行。
            2. 目前看来唯一的阻碍是Bazel,但是今年可以使用Bazel's roadmap列表在Windows上工作。

              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 几天或更长时间取决于您的技能水平。我放弃了这个;要构建太多的子项目和要定位的文件。
              2. 请记住,Bazel仅用于构建TensorFlow。如果您获得Bazel运行的命令以及正确的源代码和库,您应该能够在Windows上构建TensorFlow。见:How do I get the commands executed by Bazel

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

                1. 在Windows上构建Bazel 几天或更长时间取决于您的技能水平。我也放弃了这个;找不到Windows所需的必要源文件。
                2. Bazel that boots on Windows的公开实验源代码版本。您可以利用这一点来让Bazel在Windows等上工作。

                  此外,这些解决方案还需要使用CygwinMinGW,这会增加另一层复杂性。

                  1. 使用替代构建系统,例如Make 如果你让这个工作,我想在GitHub上看到。
                  2. 目前TensorFlow不存在。这是一项功能要求。

                    请参阅:TensorFlow issue 380

                    1. Cross Build
                      如果你让这个工作,我想在GitHub上看到。
                    2. 您使用Bazel在Linux上构建TensorFlow,但更改构建过程以输出可安装在Windows上的滚轮。这将需要详细了解Bazel以更改配置,并查找与Windows一起使用的源代码和库。我只建议作为最后的选择。甚至可能都不可能。

                      1. 在新的Windows Windows系统上运行。
                      2. 请参阅: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 :(得分:16)

我可以确认它适用于Linux的Windows子系统! 而且它也非常简单。

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

apt-get update

然后为Python 2安装pip:

sudo apt-get install python-pip python-dev

安装tensorflow:

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/

欢呼声

〜迈克尔

答案 2 :(得分:7)

很抱歉挖掘,但这个问题非常受欢迎,现在有了不同的答案。

谷歌正式宣布增加对TensorFlow的Windows(7,10和Server 2016)支持: developers.googleblog.com

可以使用pip使用单个命令安装Python模块:

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:正如@ m02ph3u5在评论中提到的TF for Windows仅支持Python 3.5.x Installing TensorFlow on Windows with native pip

答案 3 :(得分:5)

安装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. 按如下方式安装点:下载https://bootstrap.pypa.io/get-pip.py,然后运行python get-pip.py
  4. 使用pip install tensorflow(CPU版本)或pip install tensorflow-gpu安装TensorFlow(GPU版本 - &gt;需要安装CUDA)。
  5. 测试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
    

    Windows上TensorFlow的限制

    2016-10-05在提交2098b9abcf20d2c9694055bbfd6997bc00b73578中添加了在Microsoft Windows上构建TensorFlow的初始支持:

      

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

         

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

         

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

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

      

    TensorFlow现在可以在Microsoft Windows上构建和运行(在Windows 10,Windows 7和Windows Server 2016上测试过)。支持的语言包括Python(通过pip包)和C ++。 GPU加速支持CUDA 8.0和cuDNN 5.1。已知限制包括:目前无法加载自定义op库。目前不支持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。

答案 4 :(得分:4)

现在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

答案 5 :(得分:3)

以下内容可能适合您:安装Virtual Box,创建Linux VM并在其中安装Linux。我建议使用Ubuntu,因为Google经常在内部使用它。然后,在Linux VM中安装TensorFlow。

答案 6 :(得分:1)

你现在不能。问题是tensorflow使用bazel build another Google internal tool that has been exposed as an open source project,它只支持mac和unix。 直到bazel被移植到窗口或者其他构建系统被添加到tensorflow,才有机会在windows上本地运行tensorflow。

那就说你可以安装virtualbox然后安装docker-machine并运行一个内部有tensorflow的linux容器。

答案 7 :(得分:1)

我设法在没有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内部安装numpy with pip - 在VS2015内部安装带有pip的tensorflow

我没有设法用Python3.5

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

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

编辑:实际上对于上面,(不是Cloud9,这很好)我有问题: TensorFlow看起来已经安装了(在Python 64-bit 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

enter image description here

答案 8 :(得分:1)

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

然后我可以用

安装
  

C:&GT; pip install tensorflow

答案 9 :(得分:1)

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

conda create --name snakes python=3

然后

activate snakes

然后

pip install tensorflow

这与virtualenv类似,我觉得这很有帮助。

答案 10 :(得分:-1)

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