web-dev-qa-db-fra.com

Comment installer TensorFlow sur Windows?

Je commence à travailler avec la bibliothèque TensorFlow pour un apprentissage en profondeur, https://www.tensorflow.org/ .

J'ai trouvé un guide explicite sur Linux et Mac, mais je n'ai pas trouvé comment travailler avec Windows. J'essaie sur le net, mais les informations manquent.

J'utilise Visual Studio 2015 pour mes projets et j'essaie de compiler la bibliothèque avec Visual Studio Compiler VC14.

Comment l'installer et l'utiliser sous Windows?

Puis-je utiliser Bazel pour Windows pour une utilisation en production?

47
ProEns08

Comment installer TensorFlow et l'utiliser sous Windows?

Mis à jour le 04/08/16

Windows 10 dispose désormais d’un environnement bunt Bash, AKA Bash sous Ubuntu sous Windows , disponible en option standard (par opposition à mises à jour de Insider Preview pour les développeurs =). (Balise StackOverflow wsl ) Cette option est fournie avec la mise à jour anniversaire de Windows 1 (version 1607) publiée le 8/2/2016. Cela permet d'utiliser apt-get pour installer des packages logiciels tels que Python et TensorFlow .

Remarque: Bash sous Ubuntu sous Windows n'a pas accès au GPU. Par conséquent, toutes les options de GPU permettant d'installer TensorFlow ne fonctionneront pas.

La date instructions d'installation pour Bash sur Ubuntu sous Windows est fondamentalement correcte, mais seules les étapes suivantes sont nécessaires:
Conditions préalables
Activer la fonctionnalité du sous-système Windows pour Linux
Redémarrez à l'invite
Run Bash sous Windows

Les étapes ne sont plus nécessaires:
Activer le mode développeur
Activer la fonctionnalité du sous-système Windows pour Linux (ligne de commande)

Puis installez TensorFlow en utilisant 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 

et maintenant tester 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()

et exécuter un réseau de neurones réel

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

Réponse antérieure

Après avoir découvert l'aperçu du développeur de Bash sous Windows.

Voir Jouer avec TensorFlow sous Windows de Scott Hanselman qui utilise Bash sous Windows 1

Réponse originale

Bazel est le problème

TensorFlow n'est pas créé avec outils d'automatisation de la construction tel que make , mais avec l'outil de construction interne de Google Bazel . Bazel ne fonctionne que sur des systèmes basés sur nix tels que Linux et OS X .

Étant donné que les moyens actuellement publiés/connus de construction de TensorFlow utilisent Bazel et que Bazel ne fonctionne pas sous Windows, il est impossible d’installer ou d’exécuter TensorFlow de manière native sur Windows.

De FAQ Bazel

Qu'en est-il de Windows?

En raison de son héritage UNIX, le portage de Bazel sous Windows représente un travail considérable. Par exemple, Bazel utilise énormément les liens symboliques, qui offrent différents niveaux de prise en charge selon les versions de Windows.

Nous travaillons activement à l'amélioration du support Windows, mais il reste encore beaucoup à faire pour être utilisable.

Status

Voir: numéro 17 de TensorFlow
Voir: numéro de Bazel n ° 276

Solutions

Les solutions sont énumérées dans l'ordre de complexité et de travail requis; d'environ une heure à peut même pas fonctionner.

  1. Docker
    ~ 1 heure

installation de Docker

Docker est un système permettant de créer des versions autonomes d'un système d'exploitation Linux s'exécutant sur votre ordinateur. Lorsque vous installez et exécutez TensorFlow via Docker, cela isole complètement l’installation des packages préexistants sur votre ordinateur.

Regardez aussi TensorFlow - Quelle image Docker utiliser?

  1. OS X
    ~ 1 heure

Si vous avez actuellement un Mac sous OS X, veuillez consulter: Installation pour Mac OS X

  1. Linux

Le système recommandé par Linux a tendance à être buntu 14.04 LTS ( Page de téléchargement ).

une. Machine virtuelle - Virtualisation matérielle - Virtualisation complète
~ 3 heures

Téléchargez et installez une machine virtuelle telle que la version commerciale VMware ou la version gratuite Virtual Box , après laquelle vous pouvez installer Linux, puis TensorFlow.

Lorsque vous allez installer TensorFlow, vous utiliserez Pip - le système de gestion de paquets de Python. Les utilisateurs de Visual Studio devraient penser à NuGet. Les paquets sont appelés roues .

Voir: Installation du Pip

Si vous avez besoin de compiler à partir de la source, voir: Installation à partir de sources
~ 4 heures

Remarque: Si vous prévoyez d'utiliser une machine virtuelle et que vous ne l'avez jamais fait auparavant, envisagez plutôt d'utiliser l'option Docker, car Docker est la machine virtuelle, le système d'exploitation et TensorFlow, tous fournis ensemble.

b. double démarrage
~ 3 heures

Si vous souhaitez exécuter TensorFlow sur la même machine que Windows et utiliser la version du GPU, vous devrez probablement utiliser cette option pour une machine virtuelle hébergée, hyperviseur de type 2 , ne vous autorisera pas à accéder au GPU.

  1. Machine distante
    ~ 4 heures

Si vous avez accès à distance sur un autre ordinateur sur lequel vous pouvez installer le système d’exploitation Linux et le logiciel TensorFlow et autoriser les connexions à distance, vous pouvez utiliser votre ordinateur Windows pour présenter l’ordinateur distant en tant qu’application exécutée sous Windows. .

  1. Service Cloud
    Je n’ai aucune expérience en la matière. Veuillez éditer la réponse si vous le savez.

Cloud des services tels que AWS sont utilisés.

De fonctionnalités TensorFlow

Vous souhaitez exécuter le modèle en tant que service dans le cloud? Containerize avec Docker et TensorFlow ne fait que fonctionner.

De Docker

L'exécution de Docker sur AWS constitue un moyen extrêmement fiable et peu coûteux de créer, d'expédier et d'exécuter rapidement des applications distribuées à grande échelle. Déployez Docker à l'aide des AMI de AWS Marketplace.

  1. Attendez que Bazel fonctionne sous Windows.

Actuellement, il semble que le seul problème soit Bazel, cependant la feuille de route de Bazel la liste fonctionnant sous Windows devrait être disponible cette année.

Il existe deux fonctionnalités répertoriées pour 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. Construisez TensorFlow à la main.
    Quelques jours ou plus, selon votre niveau de compétence. J'ai abandonné celui-ci; trop de sous-projets à construire et de fichiers à localiser.

Rappelez-vous que Bazel n’est utilisé que pour construire TensorFlow. Si vous obtenez les commandes que Bazel exécute ainsi que le code source et les bibliothèques appropriés, vous devriez pouvoir créer TensorFlow sous Windows. Voir: Comment puis-je obtenir les commandes exécutées par Bazel .

Bien que je n’aie pas fait de recherches plus approfondies à ce sujet, vous pouvez consulter l’information intégration continue pour obtenir les fichiers nécessaires et des informations sur la manière de le construire à des fins de test. ( Readme ) ( site )

  1. Construire Bazel sur Windows
    Quelques jours ou plus, selon votre niveau de compétence. J'ai abandonné celui-ci aussi; Impossible de trouver les fichiers sources nécessaires pour Windows.

Il existe une version publique expérimentale du code source Bazel démarre sous Windows . Vous pourrez peut-être en tirer parti pour que Bazel fonctionne sous Windows, etc.

De plus, ces solutions nécessitent l’utilisation de Cygwin ou MinGW , ce qui ajoute une couche de complexité supplémentaire.

  1. Utiliser un système de construction alternatif tel que Make
    Si vous faites fonctionner celui-ci, j'aimerais bien voir GitHub.

Cela n’existe pas pour TensorFlow. C'est une demande de fonctionnalité.

Voir: numéro 380 de TensorFlow

  1. Construction croisée
    Si vous faites fonctionner celui-ci, j'aimerais bien voir GitHub.

Vous construisez TensorFlow sous Linux à l’aide de Bazel, mais vous modifiez le processus de construction pour générer une roue pouvant être installée sous Windows. Cela nécessitera une connaissance approfondie de Bazel pour modifier la configuration et localiser le code source et les bibliothèques fonctionnant sous Windows. Une option que je ne suggérerais qu'en dernier recours. Ce n'est peut-être même pas possible.

  1. Exécuter sur le nouveau sous-système Windows pour Linux.

Voir: Présentation du sous-système Windows pour Linux

Vous en saurez autant que moi en lisant l'article cité en référence.

Puis-je utiliser Bazel pour Windows à des fins de production?

Comme il s’agit d’un logiciel expérimental, je ne l’utiliserais pas sur une machine de production.

Rappelez-vous que vous avez seulement besoin de Bazel pour construire TensorFlow. Utilisez donc le code expérimental sur une machine non destinée à la production pour construire la roue , puis installez-la sur une machine de production. Voir: Installation du Pip

TLDR;

Actuellement, j'ai plusieurs versions pour apprendre. La plupart utilisent un poste de travail VMWare 7.1 pour héberger Ubuntu 14.04 LTS ou Ubuntu 15 ou Debian. J'ai également un double démarrage d'Ubuntu 14.04 LTS sur ma machine Windows pour accéder au GPU, car la machine avec VMware ne dispose pas du bon GPU. Je vous conseillerais de laisser à ces machines au moins 8 Go de mémoire sous la forme RAM ou RAM et d'échanger de l'espace car la mémoire est insuffisante à plusieurs reprises).

66
Guy Coder

Je peux confirmer que cela fonctionne dans le sous-système Windows pour Linux! Et c'est aussi très simple.

Dans Ubuntu Bash sous Windows 10, mettez d'abord à jour l'index du paquet:

apt-get update

Puis installez pip pour Python 2:

Sudo apt-get install python-pip python-dev

Installer le tensorflow:

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

Le paquet est maintenant installé et vous pouvez exécuter l'exemple CNN sur le jeu MNIST:

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

python convolutional.py

Je viens de tester le package du processeur pour le moment.

J'ai blogué à ce sujet: http://blog.mosthege.net/2016/05/11/running-tensorflow-with-native-linux-binaries-in-the-windows-subsystem-for-linux/

à votre santé

~ michael

16
michaelosthege

Désolé pour l'excavation, mais cette question est très populaire et sa réponse est maintenant différente.

Google a officiellement annoncé l'ajout du support Windows (7, 10 et Server 2016) pour TensorFlow: developers.googleblog.com

Le module Python peut être installé à l’aide de pip avec une seule commande:

C:\> pip install tensorflow

Et si vous avez besoin du support GPU:

 C:\> pip install tensorflow-gpu

Manuel TensorFlow - Comment installer pip sur Windows

Une autre information utile est incluse dans les notes de publication: https://github.com/tensorflow/tensorflow/releases

UPD: Comme @ m02ph3u5 mentionné à droite dans les commentaires TF ne prend en charge que Python 3.5.x Installation de TensorFlow sous Windows avec le pip natif

7
Dudnikof

Installation de TensorFlow

TensorFlow ne prend actuellement en charge que Python 3.5 64 bits. Les processeurs et les processeurs graphiques sont tous deux pris en charge. Voici quelques instructions d’installation, à condition que vous n’ayez pas Python 3.5 64 bits :

  1. Téléchargez et installez la mise à jour 3 redistribuable Microsoft Visual C++ 2015: https://www.Microsoft.com/en-us/download/details.aspx?id=53587 (requis par Python 3.5 et TensorFlow)
  2. Téléchargez et installez Python 3.5 64 bits: https://www.python.org/ftp/python/3.5.2/python-3.5.2-AMD64.exe
  3. Installez pip comme suit: téléchargez https://bootstrap.pypa.io/get-pip.py , puis exécutez python get-pip.py
  4. Installez TensorFlow avec pip install tensorflow (Version de l’UC) ou pip install tensorflow-gpu _ (Version GPU -> nécessite l'installation de CUDA).

Test de TensorFlow

Vous pouvez maintenant exécuter quelque chose comme suit pour vérifier si TensorFlow fonctionne correctement:

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 est livré avec quelques modèles, situés dans C:\Python35\Lib\site-packages\tensorflow\models\ (en supposant que vous avez installé python dans C:\Python35). Par exemple, vous pouvez exécuter dans la console:

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

ou

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

Limitations de TensorFlow sous Windows

La prise en charge initiale de la création de TensorFlow sous Microsoft Windows a été ajoutée le 05/10/2016 dans la validation 2098b9abcf20d2c9694055bbfd6997bc00b73578 :

Ce PR contient une version initiale de la prise en charge de la création de TensorFlow (CPU uniquement) sous Windows avec CMake. Il comprend la documentation pour la construction avec CMake sous Windows, le code spécifique à la plate-forme pour l’implémentation des fonctions principales sous Windows, ainsi que des règles CMake pour la construction du programme de formateur C++ et d’un package PIP (Python 3.5 uniquement). Les règles de CMake prennent en charge la création de TensorFlow avec Visual Studio 2015.

Le support Windows est un travail en cours, et vos commentaires et vos contributions sont les bienvenus.

Pour plus de détails sur les fonctionnalités actuellement prises en charge et pour savoir comment construire TensorFlow sous Windows, veuillez consulter le fichier tensorflow/contrib/cmake/README.md .

Le support Microsoft Windows a été introduit dans TensorFlow dans la version 0.12 RC0 ( notes de mise à jour ):

TensorFlow est à présent construit et exécuté sous Microsoft Windows (testé sous Windows 10, Windows 7 et Windows Server 2016). Les langages pris en charge incluent Python (via un paquet pip) et C++. CUDA 8.0 et cuDNN 5.1 sont pris en charge pour l’accélération GPU. Les limitations connues incluent: Il n’est actuellement pas possible de charger une bibliothèque personnalisée. La Les systèmes de fichiers GCS et HDFS ne sont pas actuellement disponibles. QuantizedConv2D, QuantizedMatmul, QuantizedMaxPool, QuantizeDownAndShrinkRange, QuantizedRelu, QuantizedRelu6, QuantizedReshape, QuantizeV2, RequantizationRange et Requantize.

5

Maintenant que Tensorflow est officiellement supporté dans Windows, vous pouvez l’installer à l’aide de la commande pip de Python 3.5 sans le compiler vous-même.

Version du CPU

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

cp35 indique une roue python 3.5 , 0.12.0 la version, vous pouvez les éditer selon vos préférences, ou pour installer la dernière version de CPU disponible, vous pouvez utiliser

pip install --upgrade tensorflow

Version GPU

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

cp35 indique une roue python 3.5 , 0.12.0 la version, vous pouvez les éditer selon vos préférences, ou pour installer la dernière version du GPU disponible, vous pouvez utiliser

pip install --upgrade tensorflow-gpu

Plus d'infos

4
Silverstorm

Ce qui suit peut fonctionner pour vous: installez Virtual Box, créez Linux VM et installez-y Linux. Je recommanderais Ubuntu, car Google l’utilise souvent en interne. Ensuite, installez TensorFlow sur une machine virtuelle Linux.

3
ivan.ukr

Si vous avez déjà installé anaconda sur vos fenêtres, il existe un moyen plus simple, comme je l'ai découvert:

conda create --name snakes python=3

Ensuite

activate snakes

Ensuite

pip install tensorflow

Ceci est similaire à virtualenv et j'ai trouvé cela utile.

1
dexhunter

Vous ne pouvez pas pour le moment. Le problème est que tensorflow utilise la version bazel n autre outil interne de Google exposé en tant que projet open source et ne prend en charge que les logiciels Mac et Unix. Jusqu'à ce que bazel soit porté sur Windows ou qu'un autre système de construction soit ajouté à tensorflow, il y a une petite chance d'exécuter nativement tensorflow sur Windows.

Cela dit, vous pouvez installer virtualbox, puis docker-machine et exécuter un conteneur Linux avec tensorflow.

1
fabrizioM

J'ai réussi à installer TensorFlow sur Win8.1 sans Docker en utilisant les conseils de https://discussions.udacity.com/t/windows-tensorflow-and-visual-studio-2015/45636

J'ai déjà essayé beaucoup de choses avant cela, et je n'essaierai pas de l'installer deux fois, mais voici ce que j'ai fait: - installez VS2015 (assurez-vous que Visual C++ est également installé) - installez Python Outils pour VS2015 - installez Python2.7 avec Anaconda2 - installe pip et conda pour Python - installe numpy avec pip dans VS2015 - installe tensorflow avec pip dans VS2015

je n'ai pas réussi à le faire avec Python3.5

J'ai également réussi à installer sur Win8.1 via Cloud9 Il existe un tutoriel vidéo sur Youtube.

https://www.youtube.com/watch?v=kMtrOIPLpR

EDIT: en fait pour ce qui précède, (pas Cloud9 qui convient), j'ai des problèmes: TensorFlow semble être installé (je peux le voir dans la liste des modules installés dans VS2015 lorsque vous cliquez dans l'Explorateur de solutions sur Python 64 bits 2.7) mais si je tape un script ou dans Python Interactive import tensorflow as TF, Je reçois un message d'erreur

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

enter image description here

1
Fagui Curtain

Au moment d'écrire cette réponse, je ne parvenais pas à installer correctement tensorflow avec python version 3.5.2. Revenir à python 3.5. a fait l'affaire.

Ensuite, j'ai pu installer avec

C:> pip installer tensorflow

1
Dezo