我开始使用 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 许可协议
更新于 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 来安装 Python 和 TensorFlow 等软件包。
注意:Windows 上的 Ubuntu 上的 Bash 无法访问 GPU,因此安装 TensorFlow 的所有 GPU 选项都将不起作用。
过时的 Bash on Ubuntu on Windows 安装说明 基本正确,但只需执行以下步骤:
先决条件
启用适用于 Linux 功能的 Windows 子系统 (GUI)
出现提示时重新启动
在 Windows 上运行 Bash
不再需要的步骤:
开启开发者模式
启用适用于 Linux 功能的 Windows 子系统(命令行)
然后使用 apt-get 安装 TensorFlow
现在测试 TensorFlow
并运行一个实际的神经网络
较早的答案
在了解了 Bash on Windows 的开发者预览版之后。
请参阅 Scott Hanselman 在 Windows 上使用 TensorFlow 在 Windows 10 上使用 Bash
原始答案
巴泽尔是问题
TensorFlow 不是使用 make 等 构建自动化工具构建 的,而是使用 Google 内部构建工具 Bazel 构建的。 Bazel 仅适用于基于 Unix 的系统,例如 Linux 和 OS X。
由于当前发布/已知的 TensorFlow 构建方法使用 Bazel ,而 Bazel 不能在 Windows 上运行,因此无法在 Windows 上本地安装或运行 TensorFlow。
来自 Bazel 常见问题
地位
请参阅: TensorFlow 问题 #17
请参阅: Bazel 问题 #276
解决方案
解决方案按复杂程度和所需工作的顺序列出;从大约一个小时到可能甚至无法工作。
~ 1 小时
码头工人安装
Docker 是一个系统,用于构建在您的机器上运行的 Linux 操作系统的独立版本。当您通过 Docker 安装和运行 TensorFlow 时,它会将安装与您机器上预先存在的软件包完全隔离开来。
另请查看 TensorFlow - 使用哪个 Docker 映像?
~ 1 小时
如果您当前有运行 OS X 的 Mac,请参阅: Mac OS X 安装
推荐的 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 将不允许您访问显卡。
~ 4 小时
如果您可以 远程访问 另一台可以安装 Linux 操作系统和 TensorFlow 软件并允许远程连接的机器,那么您可以使用 Windows 机器将远程机器呈现为在 Windows 上运行的应用程序。
我没有这方面的经验。如果您知道,请编辑答案。
正在使用 AWS 等 云 服务。
来自 TensorFlow 功能
来自 Docker
目前看来唯一的阻碍是 Bazel,但是 Bazel 在 Windows 上工作的路线图 列表应该在今年可用。
列出了两个适用于 Windows 的功能:
几天或更长时间,取决于您的技能水平。我放弃了这个;要构建的子项目太多,要定位的文件太多。
请记住,Bazel 仅用于构建 TensorFlow。如果您获得 Bazel 运行的命令以及正确的源代码和库,您应该能够在 Windows 上构建 TensorFlow。请参阅: 如何获取 Bazel 执行的命令。
虽然我没有对此进行更多研究,但您可以查看所需文件的 持续集成 信息以及他们如何构建它以进行测试的信息。 ( 自述文件) ( 网站)
几天或更长时间,取决于您的技能水平。我也放弃了这个;找不到 Windows 所需的必要源文件。
有一个 在 Windows 上启动的 Bazel 的公共实验源代码版本。您可以利用这一点让 Bazel 在 Windows 等上工作。
此外,这些解决方案需要使用 Cygwin 或 MinGW ,这增加了另一层复杂性。
如果你让这个工作,我想在 GitHub 上看到。
TensorFlow 目前不存在此功能。这是一个功能请求。
请参阅: TensorFlow 问题 380
如果你让这个工作,我想在 GitHub 上看到。
您使用 Bazel 在 Linux 上构建 TensorFlow,但更改构建过程以输出可以安装在 Windows 上的轮子。这将需要 Bazel 的详细知识来更改配置,并找到适用于 Windows 的源代码和库。我只建议作为最后的选择。这甚至可能是不可能的。
请参阅: 适用于 Linux 的 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 和交换空间,因为我已经用完内存几次了。