c++ - the - install tensorflow windows
¿Cómo instalar TensorFlow en Windows? (11)
Estoy empezando a trabajar con la biblioteca TensorFlow para aprendizaje profundo, https://www.tensorflow.org/ .
Encontré una guía explícita para trabajar en Linux y Mac, pero no encontré cómo trabajar con ella en Windows. Lo intento por la red, pero falta información.
Uso 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?
¿Cómo instalar TensorFlow y usarlo en Windows?
Actualizado el 8/4/16
Windows 10 ahora tiene un entorno Ubuntu Bash, AKA Bash en Ubuntu en Windows , disponible como una opción estándar (a diferencia de las actualizaciones de Insider Preview para desarrolladores ). (Etiqueta de wsl ) Esta opción vino con la actualización de aniversario de Windows 10 (Versión 1607) lanzada el 8/2/2016. Esto permite el uso de apt-get para instalar paquetes de software como Python y https://www.tensorflow.org/ .
Nota: Bash en Ubuntu en Windows no tiene acceso a la GPU, por lo que todas las opciones de la 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
Habilite la característica Subsistema de Windows para Linux (GUI)
Reiniciar cuando se le solicite
Ejecutar Bash en Windows
Los pasos ya no son necesarios:
Activa el modo desarrollador
Habilite la característica 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.
Consulte Reproducción con TensorFlow en Windows por Scott Hanselman, que utiliza Bash en Windows 10
Respuesta original
Bazel es el problema
TensorFlow no está hecho 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 publicados / conocidos actuales para construir TensorFlow usan Bazel y Bazel no funciona en Windows, no se puede instalar o ejecutar TensorFlow de forma nativa en Windows.
De las Bazel
¿Qué pasa con Windows?
Debido a su herencia de UNIX, portar Bazel a Windows es un trabajo significativo. Por ejemplo, Bazel usa enlaces simbólicos de forma extensiva, que tiene diferentes niveles de soporte en las versiones de Windows.
Actualmente estamos trabajando activamente para mejorar el soporte de Windows, pero todavía no se puede utilizar.
Estado
Ver: TensorFlow issue # 17
Ver: Bazel número 276
Soluciones
Las soluciones se enumeran en el orden de complejidad y trabajo necesario; desde aproximadamente una hora hasta puede que ni siquiera funcione.
- Docker
~ 1 hora
Docker es un sistema para construir versiones autónomas de un sistema operativo Linux que se ejecuta en su 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.
Consulte también TensorFlow: ¿qué imagen de Docker usar?
- OS X
~ 1 hora
Si tiene una Mac actual que ejecuta OS X, consulte: Instalación para Mac OS X
- Linux
El sistema recomendado de Linux tiende a ser Ubuntu ( 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 VMware comercial o la Caja virtual gratuita, después de lo cual puede instalar Linux y luego instalar TensorFlow.
Cuando vaya a instalar TensorFlow, usará el sistema de administración de paquetes de Pip - Python. Los usuarios de Visual Studio deberían pensar en NuGet. Los paquetes son conocidos como wheels .
Ver: instalación de pipa
Si necesita construir desde la fuente, consulte: Instalación desde fuentes
~ 4 horas
Nota: Si planea usar una Máquina Virtual y nunca lo ha hecho antes, considere usar la opción Docker en su lugar, ya que Docker es la Máquina Virtual, el SO y TensorFlow, todos empacados juntos.
segundo. Arranque dual
~ 3 horas
Si desea ejecutar TensorFlow en la misma máquina en la que tiene Windows y utiliza la versión de la GPU, lo más probable es que tenga que utilizar esta opción como ejecutar en una máquina virtual alojada, el hipervisor Tipo 2 , no le permitirá acceder a la GPU.
- 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 las conexiones remotas, entonces puede usar su máquina Windows para presentar la máquina remota como una aplicación que se ejecuta en Windows.
- Servicio de almacenamiento en la nube
No tengo experiencia con esto Por favor, edita la respuesta si lo sabes.
Servicios en la Cloud como AWS están siendo utilizados.
De las https://www.tensorflow.org/
¿Desea ejecutar el modelo como un servicio en la nube? Containerize con Docker y TensorFlow solo funciona.
De Docker
La ejecución de Docker en AWS proporciona una forma altamente confiable y de bajo costo para construir, enviar y ejecutar rápidamente aplicaciones distribuidas a escala. Implemente Docker usando AMIs de AWS Marketplace.
- Espere a que Bazel trabaje en Windows.
Actualmente parece que el único obstáculo es Bazel, sin embargo, la lista de mapas de ruta de Bazel que funciona en Windows debería estar disponible este año.
Hay dos características enumeradas 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.
- Construye TensorFlow a mano.
Unos días o más dependiendo de su nivel de habilidad. Me di por vencido en este caso; demasiados subproyectos para construir y archivos para ubicar.
Recuerde que Bazel solo se usa para construir TensorFlow. Si obtiene los comandos que Bazel ejecuta y el código fuente correcto y las bibliotecas, debería poder construir TensorFlow en Windows. Ver: ¿Cómo obtengo los comandos ejecutados por Bazel ?
Si bien no he investigado esto más, puede consultar la información de integración continua de los archivos necesarios y la información sobre cómo crearla para las pruebas. ( Readme ) ( site )
- 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 pudo encontrar los archivos fuente necesarios necesarios para Windows.
Existe una versión de código fuente público experimental de Bazel que se inicia en Windows . Puede aprovechar esto para lograr que Bazel funcione en Windows, etc.
Además, estas soluciones requieren el uso de Cygwin o MinGW que agrega otra capa de complejidad.
- Use un sistema de compilación alternativo como Make
Si haces que este funcione, me gustaría verlo en GitHub.
Esto actualmente no existe para TensorFlow. Es una solicitud de función.
- Construcción cruzada
Si haces que este funcione, me gustaría verlo en GitHub.
Construyes TensorFlow en Linux usando Bazel pero cambias el proceso de compilación para generar una rueda que se puede 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.
- Ejecutar en el nuevo Subsistema de Windows para Linux.
Ver: Subsistema de Windows para Linux
Sabrá tanto como yo leyendo el artículo al que se hace referencia.
¿Puedo usar Bazel para Windows para uso de producción?
Dado que es un software experimental que no usaría en una máquina de producción.
Recuerde que solo necesita Bazel para construir TensorFlow. Entonces, use el código experimental en una máquina que no sea de producción para construir la wheels , luego instale la rueda en una máquina de producción. Ver: instalación de pipa
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 con Windows para acceder a la GPU, ya que la máquina con VMware no tiene la GPU adecuada. Yo recomendaría que le den a estas máquinas al menos 8G de memoria, ya sea como RAM o RAM, y cambien el espacio, ya que me he quedado sin memoria algunas veces.
Instalación de TensorFlow
TensorFlow actualmente solo es compatible con Python 3.5 de 64 bits. Tanto la CPU como la GPU son compatibles. Aquí hay algunas instrucciones de instalación suponiendo que no tiene Python 3.5 de 64 bits:
- 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)
- Descargue e instale Python 3.5 de 64 bits: https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe
- Instale pip de la siguiente manera: descargue https://bootstrap.pypa.io/get-pip.py , luego ejecute
python get-pip.py
- Instale TensorFlow con
pip install tensorflow
(versión de CPU) opip install tensorflow-gpu
(versión de GPU -> requiere la instalación de CUDA).
Prueba de 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 construir TensorFlow (solo CPU) en Windows usando CMake. Incluye documentación para construir con CMake en Windows, código específico de plataforma para implementar funciones centrales en Windows y reglas de CMake para compilar el programa de entrenamiento de ejemplo de C ++ y un paquete PIP (solo Python 3.5). Las reglas de CMake apoyan la construcció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 funciones actualmente compatibles e instrucciones para crear 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 compila y se 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 de operaciones personalizada. Los sistemas de archivos GCS y HDFS no son actualmente compatibles. Las siguientes operaciones no se implementan actualmente: DepthwiseConv2dNative, DepthwiseConv2dNativeBackpropFilter, DepthwiseConv2dNativeBackpropInput, descuantificar, digamma, FER, ERFC, IGamma, Igammac, lgamma, poligamma, QuantizeAndDequantize, QuantizedAvgPool, QuantizedBatchNomWithGlobalNormalization, QuantizedBiasAdd, QuantizedConcat, QuantizedConv2D, QuantizedMatmul, QuantizedMaxPool, QuantizeDownAndShrinkRange, QuantizedRelu, QuantizedRelu6, QuantizedReshape, QuantizeV2, RequantizationRange y Requantize.
¡Puedo confirmar que funciona en el Subsistema de Windows para Linux! Y también es muy sencillo.
En Ubuntu Bash en Windows 10, primero actualice el índice del paquete:
apt-get update
Luego instala 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 de MNIST:
cd /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist
python convolutional.py
Acabo de probar el paquete de CPU por ahora.
Publiqué sobre esto: http://blog.mosthege.net/2016/05/11/running-tensorflow-with-native-linux-binaries-in-the-windows-subsystem-for-linux/
aclamaciones
~ michael
Ahora Tensorflow es oficialmente compatible con 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 wheel, 0.12.0 la versión, puede editarlos según su preferencia, o para instalar la última versión de CPU disponible que puede usar
pip install --upgrade tensorflow
Versión 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 wheel, 0.12.0 la versión, puede editar estos de acuerdo a sus preferencias, o para instalar la última versión de GPU disponible que puede usar
pip install --upgrade tensorflow-gpu
Al escribir esta respuesta, no pude conseguir que tensorflow se instalara correctamente con la versión 3.5.2 de Python. Revertir a Python 3.5.0 hizo el truco.
Luego pude instalar con
C:> pip install tensorflow
Lo siguiente puede funcionar para usted: instalar Virtual Box, crear Linux VM e instalar Linux en él. Recomendaría Ubuntu, porque Google a menudo lo usa internamente. Luego, instale TensorFlow en Linux VM.
Logré instalar TensorFlow en Win8.1 sin Docker usando el consejo de https://discussions.udacity.com/t/windows-tensorflow-and-visual-studio-2015/45636
Intenté muchas cosas antes de eso, y no intentaré instalarlo dos veces, pero esto es lo que hice: - instalar VS2015 (asegúrese de que también esté instalado Visual C ++) - instalar Python Tools 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
Logré también 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 COMO si estuviera 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 import tensorflow as TF
un script o en el import tensorflow as TF
interactivo de Python import tensorflow as TF
luego import tensorflow as TF
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
No puedes por el momento. El problema es que tensorflow usa el bazel para construir 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 se transporta a las ventanas o se agrega otro sistema de compilación al flujo de tensor, existe una pequeña posibilidad de ejecutar tensorflow nativamente en Windows.
Dicho esto, puede instalar virtualbox y luego instalar docker-machine y ejecutar un contenedor linux con tensorflow dentro de él.
Si ya ha instalado anaconda en su Windows, hay una manera más sencilla de descubrir:
conda create --name snakes python=3
Entonces
activate snakes
Entonces
pip install tensorflow
Esto es similar a virtualenv y encontré esto útil.
Siga este link para instalar Tensorflow en Windows y también puede usarlo en Visual Studio
Perdón por la excavación, pero esta pregunta es bastante popular, y ahora tiene una respuesta diferente.
Google anunció oficialmente la adición de compatibilidad con Windows (7, 10 y Server 2016) para TensorFlow: developers.googleblog.com
El módulo de Python se puede instalar usando pip con un solo comando:
C:/> pip install tensorflow
Y si necesita soporte GPU:
C:/> pip install tensorflow-gpu
Manual de TensorFlow - Cómo instalar pip en Windows
Otra información útil se incluye en las notas de la versión: https://github.com/tensorflow/tensorflow/releases
UPD: como @ m02ph3u5 se menciona en los comentarios TF para Windows solo admite Python 3.5.x Instalar TensorFlow en Windows con pip nativo