Installation de TensorFlow avec Docker

Installation de TensorFlow avec Docker

Vous appréciez notre travail......nous recrutons !

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.

Partagez cet article

Canada - Maroc - France

Nous sommes une équipe passionnée par l'Open Source, le Big Data et les technologies associées telles que le Cloud, le Data Engineering, la Data Science le DevOps…

Nous fournissons à nos clients un savoir faire reconnu sur la manière d'utiliser les technologies pour convertir leurs cas d'usage en projets exploités en production, sur la façon de réduire les coûts et d'accélérer les livraisons de nouvelles fonctionnalités.

Si vous appréciez la qualité de nos publications, nous vous invitons à nous contacter en vue de coopérer ensemble.

Support Ukrain