如何在 Windows 上安装 TensorFlow?

新手上路,请多包涵

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

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

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

如何在Windows下安装和使用?

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

原文由 ProEns08 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 961
2 个回答

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

更新于 2016 年 8 月 4 日

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

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

过时的 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 在 Windows 上使用 TensorFlow 在 Windows 10 上使用 Bash

原始答案

巴泽尔是问题

TensorFlow 不是使用 make构建自动化工具构建 的,而是使用 Google 内部构建工具 Bazel 构建的。 Bazel 仅适用于基于 Unix 的系统,例如 LinuxOS X。

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

来自 Bazel 常见问题

窗户呢?

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

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

地位

请参阅: TensorFlow 问题 #17

请参阅: Bazel 问题 #276

解决方案

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

  1. 码头工人

~ 1 小时

码头工人安装

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

另请查看 TensorFlow - 使用哪个 Docker 映像?

  1. 操作系统

~ 1 小时

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

  1. Linux

推荐的 Linux 系统 往往是 Ubuntu 14.04 LTS下载页面)。

一个。虚拟机 - 硬件虚拟化 - 完全虚拟化

~ 3 小时

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

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

请参阅: Pip 安装

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

~ 4 小时

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

湾。 双启动

~ 3 小时

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

  1. 远程机器

~ 4 小时

如果您可以 远程访问 另一台可以安装 Linux 操作系统和 TensorFlow 软件并允许远程连接的机器,那么您可以使用 Windows 机器将远程机器呈现为在 Windows 上运行的应用程序。

  1. 云服务

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

正在使用 AWS 服务。

来自 TensorFlow 功能

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

来自 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.

  1. 手动构建 TensorFlow。

几天或更长时间,取决于您的技能水平。我放弃了这个;要构建的子项目太多,要定位的文件太多。

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

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

  1. 在 Windows 上构建 Bazel

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

有一个 在 Windows 上启动的 Bazel 的公共实验源代码版本。您可以利用这一点让 Bazel 在 Windows 等上工作。

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

  1. 使用替代构建系统,例如 Make

如果你让这个工作,我想在 GitHub 上看到。

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

请参阅: TensorFlow 问题 380

  1. 交叉构建

如果你让这个工作,我想在 GitHub 上看到。

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

  1. 在适用于 Linux 的新 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 和交换空间,因为我已经用完内存几次了。

原文由 Guy Coder 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 conda create --name snakes python=3

然后

activate snakes

然后

pip install tensorflow

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

原文由 dexhunter 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题