如何在Windows上安装TensorFlow?

Pro*_*s08 47 c++ windows machine-learning visual-studio tensorflow

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

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

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

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

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

Guy*_*der 66

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

2016年4月4日更新

Windows 10现在有一个Ubuntu Bash环境,Windows上的Ubuntu上的 AKA Bash,可作为标准选项(与开发人员的Insider Preview更新相对).(StackOverflow标记wsl)此选项随2016年8月2日发布的Windows 10周年更新(版本1607)附带.这允许使用apt-get来安装PythonTensorFlow等软件包.

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

Windows上Uashntu上Bash 的日期安装说明基本上是正确的,但只需要执行以下步骤:
前提条件
启用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 
Run Code Online (Sandbox Code Playgroud)

现在测试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()
Run Code Online (Sandbox Code Playgroud)

并运行一个真正的神经网络

python3 -m tensorflow.models.image.mnist.convolutional
Run Code Online (Sandbox Code Playgroud)

早期答案

在了解了Windows上Bash的开发者预览之后.

请参阅Scott Hanselman 在Windows上使用TensorFlow,在Windows 10上使用Bash

原始答案

Bazel是个问题

TensorFlow不是使用make构建自动化工具制作的,而是使用Google的内部构建工具Bazel.巴泽尔仅适用于基于系统的Unix,如Linux的OS X.

由于当前发布/已知的构建TensorFlow的方法使用Bazel和Bazel在Windows上不起作用,因此无法在Windows上本地安装或运行TensorFlow.

来自Bazel FAQ

Windows怎么样?

由于其UNIX的传统,将Bazel移植到Windows是一项重要工作.例如,Bazel广泛使用符号链接,它在Windows版本中具有不同级别的支持.

我们目前正在积极致力于改进Windows支持,但它仍然无法使用.

状态

请参阅:TensorFlow问题#17
请参阅:Bazel问题#276

解决方案

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

  1. Docker
    ~1小时

Docker安装

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

另外看看TensorFlow - 使用哪个Docker镜像?

  1. OS X
    ~1小时

如果您有运行OS X的当前Mac,请参阅:Mac OS X的安装

  1. Linux的

建议Linux系统往往是Ubuntu的LTS 14.04(下载页面).

一个.虚拟机 - 硬件虚拟化 - 全虚拟化
~3小时

下载并安装虚拟机,如商业VMware或免费的Virtual Box,之后您可以安装Linux,然后安装TensorFlow.

当你去安装TensorFlow时,你将使用Pip -Python的包管理系统.Visual Studio用户应该考虑NuGet.包裹被称为轮子.

请参阅:Pip安装

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

注意:如果您打算使用虚拟机并且之前从未这样做过,请考虑使用Docker选项,因为Docker是虚拟机,OS和TensorFlow都打包在一起.

双启动
~3小时

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

  1. 远程机器
    ~4小时

如果您可以远程访问另一台可以安装Linux OS和TensorFlow软件并允许远程连接的计算机,则可以使用Windows计算机将远程计算机显示为在Windows上运行的应用程序.

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

正在使用AWS服务.

来自TensorFlow功能

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

来自Docker

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

  1. 等待Bazel在Windows上运行.

目前看来唯一的阻碍是Bazel,但Bazel在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.
Run Code Online (Sandbox Code Playgroud)
  1. 手动构建TensorFlow.
    几天或更长时间取决于您的技能水平.我放弃了这个; 要构建的子项目太多,要查找的文件太多.

请记住,Bazel仅用于构建TensorFlow.如果您获得Bazel运行的命令以及正确的源代码和库,您应该能够在Windows上构建TensorFlow.请参阅:如何获取Bazel执行的命令.

虽然我还没有对此进行过更多研究,但您可以查看所需文件的持续集成信息以及如何构建测试文件的信息.(自述)(网站)

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

Bazel的公共实验源代码版本在Windows上启动.您可以利用它来让Bazel在Windows上工作等.

这些解决方案也需要使用CygwinMinGW,这增加了另一层复杂性.

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

目前TensorFlow不存在此问题.这是一个功能要求.

请参阅:TensorFlow问题380

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

您使用Bazel在Linux上构建TensorFlow,但更改构建过程以输出可安装在Windows上的滚轮.这将需要详细了解Bazel以更改配置,并查找与Windows一起使用的源代码和库.我只建议作为最后的选择.它甚至可能是不可能的.

  1. 在新的Windows Windows系统上运行.

请参阅:适用于Linux的Windows子系统概述

通过阅读引用的文章,您将了解我所做的事情.

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

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

请记住,您只需要Bazel来构建TensorFlow.因此,在非生产机器上使用实验代码来构建轮子,然后将轮子安装在生产机器上.请参阅:Pip安装

TLDR;

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


mic*_*ege 16

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

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

apt-get update
Run Code Online (Sandbox Code Playgroud)

然后为Python 2安装pip:

sudo apt-get install python-pip python-dev
Run Code Online (Sandbox Code Playgroud)

安装张量流:

sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
Run Code Online (Sandbox Code Playgroud)

现在安装了一个包,你可以在MNIST集上运行CNN样本:

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

python convolutional.py
Run Code Online (Sandbox Code Playgroud)

我刚刚测试了CPU包.

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

干杯

〜迈克尔


Dud*_*kof 7

对不起挖掘,但这个问题很受欢迎,现在有了不同的答案.

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

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

C:\> pip install tensorflow
Run Code Online (Sandbox Code Playgroud)

如果您需要GPU支持:

 C:\> pip install tensorflow-gpu
Run Code Online (Sandbox Code Playgroud)

TensorFlow手册 - 如何在Windows上安装pip

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

UPD:正如@ m02ph3u5在评论中提到的TF for Windows仅支持Python 3.5.x 在Windows上使用原生pip安装TensorFlow


Fra*_*urt 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. 按如下方式安装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))
Run Code Online (Sandbox Code Playgroud)

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

python -m tensorflow.models.image.mnist.convolutional
Run Code Online (Sandbox Code Playgroud)

要么

python C:\Python35\Lib\site-packages\tensorflow\models\image\mnist\convolutional.py
Run Code Online (Sandbox Code Playgroud)

Windows上TensorFlow的局限性

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

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

Windows支持是一项正在进行的工作,我们欢迎您的反馈和贡献.

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

TensorFlow在版本0.12 RC0(发行说明)中引入了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.


Sil*_*orm 5

现在 Windows 正式支持 Tensorflow,您可以使用pipPython 3.5 的命令安装它,无需自己编译

CPU版本

pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0-cp35-cp35m-win_amd64.whl
Run Code Online (Sandbox Code Playgroud)

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

pip install --upgrade tensorflow
Run Code Online (Sandbox Code Playgroud)

GPU版本

pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl
Run Code Online (Sandbox Code Playgroud)

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

pip install --upgrade tensorflow-gpu
Run Code Online (Sandbox Code Playgroud)

更多信息