Is Tensorflow compatible with a Windows workflow?

PythonWindowsTensorflow

Python Problem Overview


I haven't seen anything about Windows compatibility -- is this on the way or currently available somewhere if I put forth some effort? (I have a Mac and an Ubuntu box but the Windows machine is the one with the discrete graphics card that I currently use with theano).

Python Solutions


Solution 1 - Python

Updated 11/28/2016: Today we released the first release candidate of TensorFlow 0.12, which includes support for Windows. You can install the Python bindings using the following command in a Python shell:

C:\> pip install tensorflow

...or, if you want GPU support:

C:\> pip install tensorflow-gpu

You can also build TensorFlow yourself using Microsoft Visual C++ and NVCC (for the CUDA parts). The easiest way to build on Windows is currently to use the CMake build, and we will soon provide support for Bazel on Windows.


Previous answer: We haven't tried to build TensorFlow on Windows so far: the only supported platforms are Linux (Ubuntu) and Mac OS X, and we've only built binaries for those platforms.

For now, on Windows, the easiest way to get started with TensorFlow would be to use Docker: http://tensorflow.org/get_started/os_setup.md#docker-based_installation

It should become easier to add Windows support when Bazel (the build system we are using) adds support for building on Windows, which is on the roadmap for Bazel 0.3. You can see the full Bazel roadmap here.

In the meantime, you can follow issue 17 on the TensorFlow GitHub page.

Solution 2 - Python

As @mrry suggested, it is easier to set up TensorFlow with Docker. Here's how I managed to set it up as well as getting iPython Notebook up and running in my Docker environment (I find it really convenient to use iPython Notebook for all testing purposes as well as documenting my experiments).

I assume that you have installed both docker and boot2docker for Windows here.

First, run TensorFlow docker on daemon and set it up so Jupyter server (iPython Notebook) can be accessed from your main Windows system's browser:

docker run -dit -v /c/Users/User/:/media/disk -p 8888:8888 b.gcr.io/tensorflow/tensorflow:latest

Replace /c/Users/User/ with a path in your host you wish to mount i.e. where you can keep your iPython files. I don't know how to set it to other drives than C:, let me know if you do. /media/disk is the location in your TensorFlow docker where your host path's mounted against.

-p 8888:8888 basically means "map port 8888 in docker to 8888 in host directory". You can change the second part to other ports if you wish.

When you got it running, you can access it by running the following code:

docker exec -ti [docker-id] bash

Where [docker-id] can be found by running:

docker ps

To start your ipython notebook server from within TensorFlow's docker, run the following command:

ipython notebook --ip='*'

To allow ipython server to listen to all ip so your app may be accessible from host machine.

Instead of viewing your app in http://localhost:8888, you can only view it in http://[boot2docker-ip]:8888. To find boot2docker-ip run this in your terminal (not boot2docker terminal):

boot2docker ip

Solution 3 - Python

Another way to run it on Windows is to install for example Vmware (a free version if you are not using it commercially), install Ubuntu Linux into that and then install TensorFlow using the Linux instructions. That is what I have been doing, it works well.

Solution 4 - Python

TensorFlow is not supporting Windows at this point, but Windows has changed. Windows 10 Build 14432 includes bash.

You can download the build from https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced

enter image description here

After installation, just install/enable bash, and type bash in cmd. That's it.

enter image description here (The image is from https://blogs.windows.com/windowsexperience/2016/04/06/announcing-windows-10-insider-preview-build-14316/)

Then, run this (Python is already installed):

sudo apt-get install python-pip python-dev
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl 

Happy tensorflowing in Windows!

Solution 5 - Python

Initial support for building TensorFlow on Microsoft Windows was added on 2016-10-05 in commit d0d975f8c3330b5402263b2356b038bc8af919a2:

> This PR contains an initial version of support for building TensorFlow > (CPU only) on Windows using CMake. It includes documentation for > building with CMake on Windows, platform-specific code for > implementing core functions on Windows, and CMake rules for building > the C++ example trainer program and a PIP package (Python 3.5 only). > The CMake rules support building TensorFlow with Visual Studio 2015. > > Windows support is a work in progress, and we welcome your feedback > and contributions. > > For full details of the features currently supported and instructions > for how to build TensorFlow on Windows, please see the file > tensorflow/contrib/cmake/README.md.

Since 2016-10-20, GPU is supported.

Solution 6 - Python

TensorFlow is now officially available on Windows!

> TensorFlow now builds and runs on Microsoft Windows (tested on Windows > 10, Windows 7, and Windows Server 2016). Supported languages include > Python (via a pip package) and C++. CUDA 8.0 and cuDNN 5.1 are > supported for GPU acceleration. Known limitations include: It is not > currently possible to load a custom op library. The GCS and HDFS file > systems are not currently supported. The following ops are not > currently implemented: 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, and > Requantize.

Solution 7 - Python

2.0 Compatible Answer: (Added on 28th Jan, 2020) To install Tensorflow 2.x (2.0 or 2.1) from Source using Bazel in Windows PC, you can run the below code:

bazel build //tensorflow/tools/pip_package:build_pip_package

To make the TensorFlow package builder with CPU-only support:

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

To make the TensorFlow package builder with GPU support:

bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package

For more information on Installing Tensorflow in Windows, refer this Tensorflow Installation Page.

Compatibility Information of Tensorflow Versions, Python Versions and Build Tools (Bazel, CMake), can be found in this link.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTom OsterbindView Question on Stackoverflow
Solution 1 - PythonmrryView Answer on Stackoverflow
Solution 2 - PythonjaycodeView Answer on Stackoverflow
Solution 3 - PythonLudiMagisterView Answer on Stackoverflow
Solution 4 - PythonSung KimView Answer on Stackoverflow
Solution 5 - PythonFranck DernoncourtView Answer on Stackoverflow
Solution 6 - PythonGeorge LiuView Answer on Stackoverflow
Solution 7 - PythonTensorflow SupportView Answer on Stackoverflow