Cómo instalar TensorFlow en Windows?


Estoy empezando a trabajar con la biblioteca TensorFlow para el aprendizaje profundo, https://www.tensorflow.org/.

Encontré una guía explícita para trabajar en él en Linux y Mac, pero no encontré cómo trabajar con él en Windows. Lo intento a través de la red, pero falta información.

Utilizo Visual Studio 2015 para mis proyectos, y estoy tratando de compilar la biblioteca con Visual studio Compiler VC14.

Cómo instalarlo y usarlo en Windows?

Puedo usar Bazel para Windows para uso de producción?

Author: ProEns08, 2016-01-14

11 answers

¿Cómo instalar TensorFlow y usarlo en Windows?

Actualizado el 8/4/16

Windows 10 ahora tiene un entorno Bash Ubuntu , TAMBIÉN conocido como Bash en Ubuntu en Windows , disponible como opción estándar (a diferencia de Insider Preview updates for developers ). (Etiqueta StackOverflow wsl ) Esta opción vino con la actualización de Windows 10 anniversary (Versión 1607) lanzada el 2/8/2016. Esto permite el uso de apt-getpara instalar paquetes de software como Pythony TensorFlow.

Nota: Bash en Ubuntu en Windows no tiene acceso a la GPU, por lo que todas las opciones de GPU para instalar TensorFlow no funcionarán.

Las instrucciones de instalación fechadas para Bash en Ubuntu en Windows son básicamente correctas, pero solo estos pasos son necesarios:
Requisitos previos
Habilitar la función Subsistema de Windows para Linux (GUI)
Reiniciar cuando se solicita
Ejecutar Bash en Windows

Pasos que ya no se necesitan:
Activar el modo Desarrollador
Habilitar la función Subsistema de Windows para Linux (línea de comandos)

Luego instale TensorFlow usando apt-get

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 

Y ahora prueba 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()

Y ejecutar una red neuronal real

python3 -m tensorflow.models.image.mnist.convolutional

Respuesta anterior

Después de aprender sobre la vista previa del desarrollador de Bash en Windows.

Ver Jugar con TensorFlow en Windows por Scott Hanselman que usa Bash en Windows 10

Respuesta original

Bazel es el problema

TensorFlow no se hace con herramientas de automatización de compilación como make , sino con la herramienta de compilación interna de Google Bazel . Bazel solo funciona en sistemas basados en Unix como Linux y OS X .

Dado que los medios actuales publicados/conocidos para construir TensorFlow utilizan Bazel y Bazel no trabajar en Windows, no se puede instalar o ejecutar TensorFlow de forma nativa en Windows.

De Bazel FAQ

¿Qué pasa con Windows?

Debido a su herencia UNIX, portar Bazel a Windows es significativo trabajo. Por ejemplo, Bazel utiliza enlaces simbólicos extensivamente, lo que ha variado niveles de soporte en todas las versiones de Windows.

Actualmente estamos trabajando activamente para mejorar el soporte de Windows, pero todavía está lejos de ser utilizable.

Situación

Ver: Problema de TensorFlow #17
Ver: Problema de Bazel #276

Soluciones

Las soluciones se enumeran en el orden de complejidad y trabajo necesario; desde aproximadamente una hora hasta puede que ni siquiera funcione.

  1. Acoplador
    ~ 1 hora

Instalación de Docker

Docker es un sistema para construir versiones autónomas de un sistema operativo Linux corriendo en tu máquina. Cuando instala y ejecuta TensorFlow a través de Docker, aísla completamente la instalación de los paquetes preexistentes en su máquina.

También mira TensorFlow: ¿qué imagen de Docker usar?

  1. OS X
    ~ 1 hora

Si tiene un Mac actual ejecutando OS X, consulte: Instalación para Mac OS X

  1. Linux

El recomienda el sistema Linux tiende a ser Ubuntu 14.04 LTS (Página de descarga ).

A. Máquina virtual - Virtualización de hardware-Virtualización completa
~ 3 horas

Descargue e instale una máquina virtual como el comercial VMwareo el gratuito Virtual Box, después de lo cual puede instalar Linux y luego instalar TensorFlow.

Cuando vaya a instalar TensorFlow estará utilizando Pip - el sistema de gestión de paquetes de Python. Los usuarios de Visual Studio deberían pensar en NuGet. Los paquetes se conocen como ruedas .

Ver: Instalación Pip

Si necesita compilar desde el código fuente, consulte: Instalando desde el código Fuente
~ 4 horas

Nota: Si planea usar una Máquina virtual y nunca lo ha hecho antes, considere usar la opción Docker, ya que Docker es la Máquina Virtual, el sistema operativo y TensorFlow todos empaquetados juntos.

B. Arranque dual
~ 3 horas

Si desea ejecutar TensorFlow en la misma máquina que tiene Windows y hacer uso de la versión de GPU, lo más probable es que tenga que usar esta opción ya que se ejecuta en una máquina virtual alojada, Hipervisor tipo 2, no le permitirá acceder a la GPU.

  1. máquina Remota
    ~ 4 horas

Si tiene acceso remoto a otra máquina en la que puede instalar el sistema operativo Linux y el software TensorFlow y permitir conexiones remotas a, a continuación, puede utilizar su máquina Windows para presentar la máquina remota como una aplicación que se ejecuta en Windows.

  1. Servicio en la nube
    No tengo experiencia con esto. Por favor, edite la respuesta si lo sabe.

Se están utilizando servicios en la nube como AWS.

De Características de TensorFlow

Desea ejecutar el modelo como un servicio en la nube? Containerize con Docker y TensorFlow simplemente funciona.

Desde Docker

Ejecutar Docker en AWS proporciona una forma altamente confiable y de bajo costo de cree, envíe y ejecute rápidamente aplicaciones distribuidas a escala. Desplegar Docker utilizando AMI de AWS Marketplace.

  1. Espere a que Bazel funcione en Windows.

Actualmente parece que el único atraso es Bazel, sin embargo La hoja de ruta de Bazel la lista que funciona en Windows debería estar disponible este año.

Hay dos características listadas para 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. Construye TensorFlow a mano.
    Unos días o más dependiendo de su nivel de habilidad. Me di por vencido en este; demasiados subproyectos para construir y archivos para localizar.

Recuerde que Bazel solo se usa para construir TensorFlow. Si obtiene los comandos que ejecuta Bazel y el código fuente y las bibliotecas correctas, debería poder compilar TensorFlow en Windows. Ver: ¿Cómo puedo obtener los comandos ejecutados por Bazel .

Aunque no he investigado esto más, puede mirar la información de integración continua para los archivos necesarios e información sobre cómo construirlo para las pruebas. (Readme) (site )

  1. Construir Bazel en Windows
    Unos días o más dependiendo de su nivel de habilidad. Me di por vencido en este también; no pude encontrar los archivos de origen necesarios para Windows.

Hay una versión experimental pública del código fuente de Bazel que arranca en Windows . Usted puede ser capaz de aprovechar esto en conseguir Bazel para trabajar en Windows, etc.

También estas soluciones requieren el uso de Cygwin o MinGW que añade otra capa de complejidad.

  1. Utilice un sistema de construcción alternativo como Make
    Si consigues que esto funcione me gustaría ver a GitHub.

Esto actualmente no existe para TensorFlow. Es una solicitud de característica.

Véase: TensorFlow issue 380

  1. Construcción cruzada
    Si consigues que esto funcione me gustaría ver a GitHub.

Usted compila TensorFlow en Linux usando Bazel, pero cambia el proceso de compilación para generar una rueda que se pueda instalar en Windows. Esto requerirá un conocimiento detallado de Bazel para cambiar la configuración y localizar el código fuente y las bibliotecas que funcionan con Windows. Una opción que solo sugeriría como último recurso. Puede que ni siquiera sea posible.

  1. Ejecute en el nuevo Subsistema de Windows para Linux.

Ver: Descripción general del Subsistema de Windows para Linux

Usted sabrá tanto como yo leyendo el artículo mencionado.

¿Puedo usar Bazel para Windows para uso de producción?

Dado que es un software experimental, no lo usaría en una máquina de producción.

Recuerde que solo necesita Bazel para construir TensorFlow. Así que utilice el código experimental en un no máquina de producción para construir la rueda , luego instalar la rueda en una máquina de producción. Ver: Instalación Pip

TLDR;

Actualmente tengo varias versiones para aprender. La mayoría usa una estación de trabajo VMware 7.1 para alojar Ubuntu 14.04 LTS o Ubuntu 15 o Debian. También tengo un arranque dual de Ubuntu 14.04 LTS en mi máquina Windows para acceder a la GPU, ya que la máquina con VMware no tiene la GPU adecuada. Yo recomendaría que usted da estas máquinas por lo menos 8G de memoria ya sea como RAM o RAM y espacio de intercambio como me he quedado sin memoria un par de veces.

 65
Author: Guy Coder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:51

Puedo confirmar que funciona en el Subsistema de Windows para Linux! Y también es muy sencillo.

En la Bash de Ubuntu en Windows 10, primero actualice el índice de paquetes:

apt-get update

Luego instale pip para Python 2:

sudo apt-get install python-pip python-dev

Instalar tensorflow:

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

El paquete ahora está instalado y puede ejecutar la muestra de CNN en el conjunto MNIST:

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

python convolutional.py

Acabo de probar el paquete CPU por ahora.

He blogueado sobre ello: http://blog.mosthege.net/2016/05/11/running-tensorflow-with-native-linux-binaries-in-the-windows-subsystem-for-linux/

Salud

~ michael

 16
Author: michaelosthege,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-11 20:36:35

Lo siento por la excavación, pero esta pregunta es bastante popular, y ahora tiene una respuesta diferente.

Google anunció oficialmente la adición de soporte para Windows (7, 10 y Server 2016) para TensorFlow: developers.googleblog.com

El módulo Python se puede instalar usando pip con un solo comando:

C:\> pip install tensorflow

Y si necesita soporte de GPU:

 C:\> pip install tensorflow-gpu

TensorFlow manual - Cómo instalar pip en windows

Otro útil la información se incluye en las notas de la versión: https://github.com/tensorflow/tensorflow/releases

UPD: As @m02ph3u5 right mentioned in the comments TF for windows supports only Python 3.5.x Instalación de TensorFlow en Windows con pip nativo

 7
Author: Dudnikof,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-17 12:30:42

Instalación de TensorFlow

TensorFlow actualmente solo soporta Python 3.5 de 64 bits. Se admiten tanto CPU como GPU. Aquí hay algunas instrucciones de instalación asumiendo que no tiene Python 3.5 de 64 bits:

  1. Descargue e instale Microsoft Visual C++ 2015 Redistributable Update 3: https://www.microsoft.com/en-us/download/details.aspx?id=53587 (requerido por Python 3.5 y TensorFlow)
  2. Descargue e instale Python 3.5 de 64 bits: https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe
  3. Instale pip de la siguiente manera: descargar https://bootstrap.pypa.io/get-pip.py , luego ejecute python get-pip.py
  4. Instale TensorFlow con pip install tensorflow (versión de CPU) o pip install tensorflow-gpu (versión de GPU requires> requiere la instalación de CUDA).

Testing TensorFlow

Ahora puede ejecutar algo como lo siguiente para probar si TensorFlow funciona bien:

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 viene con algunos modelos, que se encuentran en C:\Python35\Lib\site-packages\tensorflow\models\ (suponiendo que haya instalado python en C:\Python35). Por ejemplo, puede ejecutar en la consola:

python -m tensorflow.models.image.mnist.convolutional

O

python C:\Python35\Lib\site-packages\tensorflow\models\image\mnist\convolutional.py

Limitaciones de TensorFlow en Windows

El soporte inicial para construir TensorFlow en Microsoft Windows se agregó el 2016-10-05 en commit 2098b9abcf20d2c9694055bbfd6997bc00b73578 :

Este PR contiene una versión inicial de soporte para la construcción de TensorFlow (Solo CPU) en Windows usando CMake. Incluye documentación para construcción con CMake en Windows, código específico de la plataforma para implementación de funciones básicas en Windows y reglas CMake para la construcción el programa formador de ejemplo de C++ y un paquete PIP (solo Python 3.5). Las reglas de CMake admiten la creación de TensorFlow con Visual Studio 2015.

El soporte de Windows es un trabajo en progreso, y agradecemos sus comentarios y contribuciones.

Para obtener detalles completos de las características soportadas actualmente e instrucciones para saber cómo compilar TensorFlow en Windows, consulte el archivo tensorflow/contrib/cmake/README.md.

El soporte de Microsoft Windows se introdujo en TensorFlow en la versión 0.12 RC0 ( notas de la versión):

TensorFlow ahora se construye y ejecuta en Microsoft Windows (probado en Windows 10, Windows 7 y Windows Server 2016). Los lenguajes soportados incluyen Python (a través de un paquete pip) y C++. CUDA 8.0 y cuDNN 5.1 son compatibles con la aceleración de GPU. Las limitaciones conocidas incluyen: actualmente no es posible cargar una biblioteca op personalizada. Los sistemas de archivos GCS y HDFS no son compatibles actualmente. Los siguientes ops no están implementados actualmente: 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, y Requantize.

 5
Author: Franck Dernoncourt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-23 16:20:43

Ahora Tensorflow está soportado oficialmente en Windows, puedes instalarlo usando el comando pip de Python 3.5 sin compilarlo tú mismo

Versión de CPU

pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0-cp35-cp35m-win_amd64.whl

cp35 indica python 3.5 rueda, 0.12.0 la versión, puede editar estos de acuerdo a sus preferencias, o para instalar la última versión de la CPU disponible se puede utilizar

pip install --upgrade tensorflow

Versión de GPU

pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl

cp35 indica python 3.5 rueda, 0.12.0 el versión, puede editar estos de acuerdo a sus preferencias, o para instalar la última versión de GPU disponible se puede utilizar

pip install --upgrade tensorflow-gpu

Más información

 4
Author: Silverstorm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-15 14:32:54

Lo siguiente puede funcionar para usted: instalar Virtual Box, crear Linux VM e instalar Linux en él. Yo recomendaría Ubuntu, porque Google a menudo lo usa internamente. A continuación, instale TensorFlow en Linux VM.

 3
Author: ivan.ukr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-14 10:37:44

No puedes en este momento. El problema es que tensorflow utiliza bazel build otra herramienta interna de Google que ha sido expuesta como un proyecto de código abierto y solo tiene soporte para mac y unix. Hasta que bazel sea portado a windows o se agregue otro sistema de compilación a tensorflow, hay una pequeña posibilidad de ejecutar tensorflow de forma nativa en windows.

Dicho esto, puede instalar virtualbox y luego instalar docker-machine y ejecutar un contenedor linux con tensorflow dentro de él.

 1
Author: fabrizioM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-14 10:02:34

Me las arreglé para instalar TensorFlow en Win8.1 sin Docker utilizando los consejos de https://discussions.udacity.com/t/windows-tensorflow-and-visual-studio-2015/45636

Probé muchas cosas antes de eso, y no intentaré instalarlo dos veces, pero esto es lo que hice: - instalar VS2015 (asegúrese de que Visual C++ instalado también) - instalar herramientas de Python para VS2015 - instalar Python2. 7 con Anaconda2 - instalar pip y conda para Python - instalar numpy con pip dentro de VS2015 - instalar tensorflow con pip dentro de VS2015

No logré hacerlo con Python3. 5

También me las arreglé para instalar en Win8. 1 a través de Cloud9 Hay un video tutorial en Youtube.

Https://www.youtube.com/watch?v=kMtrOIPLpR0

EDITAR: en realidad para lo anterior, (no Cloud9 que está bien) tengo problemas: TensorFlow PARECE que está instalado (puedo verlo en la lista de módulos instalados en VS2015 al hacer clic en el Explorador de soluciones en Python 64-bit 2.7) pero si escribo un script o en Python Interactive import tensorflow as TF entonces recibo un mensaje de error

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

introduzca la descripción de la imagen aquí

 1
Author: Fagui Curtain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-04 03:37:07

Al escribir esta respuesta, no pude conseguir que tensorflow se instalara correctamente con la versión 3.5.2 de python. Volver a python 3.5.0 hizo el truco.

Entonces pude instalar con

C:> instalación de pip tensorflow

 1
Author: Dezo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-26 21:43:33

Si ya ha instalado anaconda en su windows, hay una manera más fácil como me enteré:

conda create --name snakes python=3

Entonces

activate snakes

Entonces

pip install tensorflow

Esto es similar a virtualenv y me pareció útil.

 1
Author: Dex D. Hunter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-19 05:08:28

Siga este enlace para instalar Tensorflow en Windows y también puede usarlo en Visual Studio

 -1
Author: Muhammad Hannan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-01 18:35:13