Jusqu'à ce que vous démarriez Jupyter dans un conteneur d'apprentissage automatique avec Docker + Miniconda

2019er mars 11

Créez un environnement Docker pour l'apprentissage automatique et la science des données en utilisant l'image officielle de Miniconda. Nous avons résumé les étapes de l'installation de Docker à l'installation du package python dans le conteneur et à l'ouverture du notebook Jupyter.

Le mérite de créer un environnement d'apprentissage automatique avec docker est

  • Vous pouvez rapidement créer un environnement pour les frameworks d'apprentissage en profondeur avec de graves différences de bibliothèque / version.
  • (Pour Ubuntu) Vous pouvez facilement utiliser la version GPU de Tensorflow / LightGBM, qui est difficile à installer.
  • (Pour Windows et Mac) Seules les bibliothèques basées sur Linux peuvent être utilisées.
  • Même si l'environnement Conda est cassé, il peut être récupéré immédiatement

Et ainsi de suite.

Installation de Docker

Cliquez ici pour installer Docker sur chaque OS.
Ubuntu,Windows Pro,Mac

Les conteneurs GPU ne sont disponibles que sur Ubuntu avec Docker. Si vous ne disposez que d'un ordinateur Windows ou Mac OS et que vous souhaitez utiliser un conteneur GPU, vous pouvez démarrer Ubuntu à partir d'un SSD externe.

Obtenir une image Miniconda / Créer un conteneur

L'image officielle de Docker (Anaconda 2 ou 3, Miniconda 2 ou 3) est ci-dessous.https://github.com/ContinuumIO/docker-images

Vous pouvez obtenir l'image Miniconda 3 (Miniconda basée sur python 3.7) à partir de votre terminal avec la commande suivante:

# docker Créer un emplacement pour placer les fichiers partagés avec le conteneur mkdir -p docker / miniconda # Obtenir l'image officielle de miniconda3 docker pull continuumio / miniconda3 # Démarrer le conteneur de miniconda docker run --name miniconda3 -it -p 8888: 8888 -v / home / [USER name] / docker / miniconda: / home continuumio / miniconda3 / bin / bash

Explication des options lors de l'exécution du docker
--name : Nom à donner au contenant à fabriquer
-it: Connectez l'invite de commande du conteneur et de l'hôte
-p : Connectez le port de l'hôte et du conteneur: Vous pouvez ouvrir le notebook jupyter depuis le navigateur
-v: Partagez le dossier hôte (ici / home / docker / miniconda) avec / home dans le conteneur.D'abord "mkdir -p docker/minicondaSi vous placez un fichier (données d'analyse, etc.) dans le dossier créé dans ", vous pouvez le partager avec le conteneur.

Ici, pour le moment-vLe dossier partagé est monté avec l'option. Avec jupyter notebook, les fichiers peuvent être téléchargés et téléchargés dans le conteneur via un navigateur, donc cela peut ne pas être nécessaire.

Travailler à l'intérieur d'un conteneur Miniconda

Depuis que je l'ai mis dans l'invite de commande dans le conteneur avec la commande précédente, installez le package (créez un environnement virtuel si nécessaire).

# Créer un environnement virtuel pour ML conda create -n ML # Installer des packages liés à l'apprentissage automatique / à la science des données conda install numpy scipy pandas matplotlib seaborn bokeh jupyter jupyterlab scikit-learn 

Lancer le notebook Jupyter dans le conteneur

Ouvrez # jupyter notebook jupyter notebook --port 8888 --ip = 0.0.0.0 --allow-root # Pour jupyter lab, faites le jupyter lab suivant --port 8888 --ip = 0.0.0.0 --allow-root

Vous pouvez ouvrir jupyter en entrant l'URL de sortie dans votre navigateur.

"Ctrl + C" pour quitter jupyter
Pour rentrer dans le conteneur, cliquez surdocker exec -it コンテナID /bin/bash
Pour enregistrer le conteneur Miniconda créé en tant qu'image, cliquez surdocker commit CONTAINER_ID 保存するイメージ名