我开始使用TensorFlow深度学习库进行工作, https://www.tensorflow.org/ 。
我发现了一个详细的在Linux和Mac上操作TensorFlow的指南,但是我没有找到如何在Windows下使用它的方法。我在网上寻找,但是信息缺乏。
我使用Visual Studio 2015进行我的项目,并尝试使用Visual studio编译器VC14编译库。
如何安装并在Windows下使用它?
我可以在生产环境中使用 Bazel for Windows 吗?
我开始使用TensorFlow深度学习库进行工作, https://www.tensorflow.org/ 。
我发现了一个详细的在Linux和Mac上操作TensorFlow的指南,但是我没有找到如何在Windows下使用它的方法。我在网上寻找,但是信息缺乏。
我使用Visual Studio 2015进行我的项目,并尝试使用Visual studio编译器VC14编译库。
如何安装并在Windows下使用它?
我可以在生产环境中使用 Bazel for Windows 吗?
现在,Windows 10拥有一个Ubuntu Bash环境,也称为Bash on Ubuntu on Windows,作为标准选项提供(与面向开发人员的Insider Preview更新相对)。 (StackOverflow标签wsl)此选项随Windows 10周年更新(版本1607)一起发布于2016年8月2日。这允许使用apt-get安装软件包,例如Python和TensorFlow。
注意:Bash on Ubuntu on Windows无法访问GPU,因此所有安装TensorFlow的GPU选项都无法使用。
过时的安装说明对于在Windows上安装Bash on Ubuntu来说基本是正确的,但只有以下步骤是必要的: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的开发者预览之后。
请参考Scott Hanselman的在Windows上使用TensorFlow,该文章使用了Windows 10上的Bash
Bazel是问题所在
TensorFlow并非使用像make这样的构建自动化工具构建,而是使用Google内部的构建工具Bazel。Bazel仅适用于基于Unix(如Linux和OS X)的系统。
由于当前已知发布的构建TensorFlow的方法使用Bazel,而Bazel不支持Windows系统,因此无法在Windows上本地安装或运行TensorFlow。
Windows怎么办?
由于其UNIX遗产,将Bazel移植到Windows是一项重要的工作。例如,Bazel广泛使用符号链接,在Windows版本中支持程度不同。
我们目前正在积极改善Windows支持,但它仍然远未可用。
状态
请参见:TensorFlow问题#17
请参见:Bazel问题#276
这些解决方案按复杂性和所需工作的顺序列出;从大约一个小时到可能根本无法工作。
a. 虚拟机 - 硬件虚拟化 - 全虚拟化
~ 3 小时
下载并安装虚拟机,如商业版 VMware 或免费版 Virtual Box,之后您可以安装 Linux 并安装 TensorFlow。
当您要安装 TensorFlow 时,将使用 Pip - Python 的包管理系统。Visual Studio 用户应该考虑 NuGet。这些软件包被称为 wheels。
请参阅:Pip 安装
如果您需要从源代码构建,则请参见:从源代码安装想要将模型作为云服务运行吗? 使用Docker进行容器化,TensorFlow就能工作了。
来自Docker
在AWS上运行Docker提供了一种高度可靠、低成本的方式, 快速构建、交付和运行大规模分布式应用程序。使用AWS Marketplace中的AMI部署Docker。
目前看来唯一的问题是 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.
请记住,Bazel仅用于构建TensorFlow。如果您获得了Bazel运行的命令、正确的源代码和库,您应该能够在Windows上构建TensorFlow。参见:如何获取由Bazel执行的命令。
虽然我没有进一步研究过这个问题,但您可以查看持续集成信息,了解所需的文件以及如何构建它们进行测试。(自述文件)(网站)
Bazel有一个公共实验性源代码版本,可以在Windows上运行。您可以利用这个来让Bazel在Windows上工作等。
此外,这些解决方案需要使用Cygwin或MinGW,这增加了另一层复杂性。
目前TensorFlow还没有这个功能,这是一个功能请求。
目前我有几个学习版本。大多数使用VMWare 7.1 Workstation来托管Ubuntu 14.04 LTS或Ubuntu 15或Debian。我还在我的Windows机器上有一个双启动的Ubuntu 14.04 LTS,以访问GPU,因为带有VMware的机器没有正确的GPU。我建议您至少给这些机器8G内存,可以是RAM或RAM和交换空间,因为我有几次内存不足的情况。
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包。
谢谢
~Michael
C:\> pip install tensorflow
如果您需要GPU支持:
C:\> pip install tensorflow-gpu
发布说明中还包含其他有用的信息: https://github.com/tensorflow/tensorflow/releases
更新:正如评论中@m02ph3u5所提到的,TF适用于Windows仅支持Python 3.5.x 使用本地pip在Windows上安装TensorFlow
目前TensorFlow仅支持Python 3.5 64位。CPU和GPU都受支持。以下是一些安装说明,假定您没有安装Python 3.5 64位:
python get-pip.py
pip install tensorflow
(CPU版本)或pip install tensorflow-gpu
(GPU版本-->需要安装CUDA)来安装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\
(假设您将python安装在C:\Python35
中)。例如,您可以在控制台中运行:
python -m tensorflow.models.image.mnist.convolutional
或者
python C:\Python35\Lib\site-packages\tensorflow\models\image\mnist\convolutional.py
TensorFlow在Microsoft Windows上的构建支持最初出现于2016年10月5日的提交 2098b9abcf20d2c9694055bbfd6997bc00b73578:
此Pull Request包含使用CMake在Windows上构建TensorFlow(仅CPU)支持的初始版本。 它包括了在Windows上使用CMake进行构建的文档,实现在Windows上核心函数的平台特定代码以及用于构建C ++示例训练器程序和PIP软件包(仅限Python 3.5)的CMake规则。 CMake规则支持使用Visual Studio 2015构建TensorFlow。
Windows支持正在进行中,我们欢迎您的反馈和贡献。
有关当前支持的功能的详细信息和在Windows上构建TensorFlow的说明,请参阅文件
tensorflow/contrib/cmake/README.md
。
Microsoft Windows支持是在TensorFlow 0.12 RC0版本中引入的(发行说明):
TensorFlow现在在Microsoft Windows上构建和运行(在Windows 10、Windows 7和Windows Server 2016上测试)。支持的语言包括Python(通过pip软件包)和C ++。GPU加速支持CUDA 8.0和cuDNN 5.1。已知限制包括:目前不可能加载自定义op库。不支持GCS和HDFS文件系统。以下操作当前未实现:DepthwiseConv2dNative,DepthwiseConv2dNativeBackpropFilter,DepthwiseConv2dNativeBackpropInput,Dequantize,Digamma,Erf,Erfc,Igamma,Igammac,Lgamma,Polygamma,QuantizeAndDequantize,QuantizedAvgPool,QuantizedBatchNomWithGlobalNormalization,QuantizedBiasAdd,QuantizedConcat,QuantizedConv2D,QuantizedMatmul,QuantizedMaxPool,QuantizeDownAndShrinkRange,QuantizedRelu,QuantizedRelu6,QuantizedReshape,QuantizeV2,RequantizationRange和Requantize。
现在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 版本的 wheel 包,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 的 wheel,0.12.0 表示版本号。你可以根据自己的喜好进行编辑,或者使用最新的 GPU 版本进行安装。
pip install --upgrade tensorflow-gpu
pip3 install --upgrade tensorflow
可以用于 tf 1.1+。 - m02ph3u5以下可能适合您:安装Virtual Box,创建Linux虚拟机并在其中安装Linux。我建议使用Ubuntu,因为Google经常在内部使用它。然后,在Linux虚拟机中安装TensorFlow。
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
C:> pip install tensorflow
如果你已经在Windows上安装了Anaconda,我发现有一种更简单的方法:
conda create --name snakes python=3
那么
activate snakes
那么
pip install tensorflow
这类似于virtualenv,我发现这很有用。
conda create --name snakes python=3.5
命令,因为只支持 3.5 版本。 - m02ph3u5
pip3 install --upgrade tensorflow
即可。 - m02ph3u5