Installation de TensorFlow avec Docker
5 août 2019
- Catégories
- Orchestration de conteneurs
- Data Science
- Formation
- Tags
- CPU
- Jupyter
- Linux
- IA
- Deep Learning
- Docker
- TensorFlow [plus][moins]
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
TensorFlow est un logiciel open source de Google pour le calcul numérique utilisant une représentation en graph :
- Vertex (nodes) représentent des opérations mathématiques
- Edges représentent un tableau de données à N dimensions (tensors)
TensorFlow s’exécute sur un processeur CPU ou un processeur graphique GPU (à l’aide de CUDA®). L’architecture est flexible et hautement évolutive. Il peut être déployé sur des smartphones, des ordinateurs de bureau/serveurs ou même un cluster de serveurs.
Installation
CPU uniquement
C’est le moyen le plus simple d’installer TensorFlow car il ne nécessite pas Nvidia CUDA. C’est le moyen privilégié pour une installation rapide.
Support GPU
TensorFlow, comme tout framework de calcul matriciel, s’exécute plus rapidement sur GPU. Quelques prérequis sont nécessaires :
- Carte GPU avec CUDA Compute Capability 3.0 ou supérieure
- Pilotes Nvidia®
- CUDA® Toolkit 8.0
- cuDNN 6
Méthodes d’installation
TensorFlow peut être installé via plusieurs mécanismes :
- À partir de sources (Linux, Mac OS X, Windows)
- pip (Linux, Mac OS X, Windows)
- Virtualenv (Linux, Mac OS X)
- Anaconda (Linux, Mac OS X, Windows)
- docker (Linux, Mac OS X)
Pip installera la bibliothèque TensorFlow dans votre environnement python. Virtualenv et Anaconda vous permettront d’installer TensorFlow avec une distribution python dédiée, donc sans intéraction avec l’environnement python utilisé par le système Linux. Docker utilise la technologie de conteneur pour l’isolation.
Nous allons utiliser TensorFlow basé sur le CPU uniquement. Visitez le Guide d’installation TensorFlow si vous choisissez une autre méthode.
Vous n’avez besoin que d’une commande pour bootstraper TensorFlow avec Docker. Pour démarrer le conteneur et entrer à l’intérieur :
docker run -it --rm -u $(id -u):$(id -g) \
tensorflow/tensorflow bash
Il est également possible d’exécuter un script avec :
docker run -it --rm -u $(id -u):$(id -g) \
-v $PWD:/tmp \
-w /tmp tensorflow/tensorflow \
python ./script.py
Pour démarrer le bloc-notes Jupyter le long de TensorFlow, exécutez :
docker run -u $(id -u):$(id -g) \
-p 8888:8888 \
tensorflow/tensorflow:nightly-py3-jupyter
Le lien vers le Notebook Jupyter s’affichera dans la console :
...
Or copy and paste one of these URLs:
http://4121030b2ecb:8888/?token=68e7d4f51333f30cd5ada5fedb3c4b0a17fb110cfef36fc9
or http://127.0.0.1:8888/?token=68e7d4f51333f30cd5ada5fedb3c4b0a17fb110cfef36fc9
Voici la description de certains paramètres ainsi que des paramètres supplémentaires qui peuvent être utiles :
-p ${host_port}:${container_port}
le port disponible sur votre ordinateur qui sera redirigé vers le port à l’intérieur du conteneur utilisé par Jupyter Notebook.-v $PWD:/tmp
Expose le répertoire temporaire du conteneur dans votre répertoire de travail actuel.- —name ${some_container_name}` : Ceci assignera un nom au conteneur créé. Ainsi, vous pourrez arrêter/démarrer le conteneur en utilisant le nom attribué. Ceci est pratique si vous envisagez de réutiliser ce conteneur tensorflow.
--rm
: Ceci va automatiquement détruire le conteneur quand il s’arrête (quand vous le tuez)
C’est tout ! Vous avez un nœud tensorflow prêt à l’emploi.