Partager via



Février 2018

Volume 33, numéro 2

Cet article a fait l'objet d'une traduction automatique.

Artificially Intelligent - Utilisation des Notebooks Jupyter

Par Frank La La | 2018 de février

Frank La VigneLe bloc-notes Jupyter est une open source, outil basée sur navigateur qui permet aux utilisateurs de créer et partager des documents qui contiennent du code dynamique, les visualisations et texte. Notebook portables ne sont pas environnements de développement, soi. Au lieu de cela, ils fournissent une interactive « brouillon » où les données peuvent être examinées et Transposez. Elles offrent un interpréteur de commandes interactive, basée sur navigateur pour les différents langages de programmation, tels que Python ou R et que vous permettent de chercheurs de données et les ingénieurs rapidement faire des essais avec des données en fournissant une plateforme pour partager du code, les observations et les visualisations. Ordinateurs portables peuvent être exécutées localement sur un PC ou dans le cloud via divers services et sont un excellent moyen d’Explorer les jeux de données et de faire une idée pour un nouveau langage de programmation. Pour les développeurs habitués à un IDE plus classique, toutefois, ils peuvent être déconcertante dans un premier temps.

Structure d’un bloc-notes Jupyter

Notebook blocs-notes se composent d’une série de « cellules « organisés dans une séquence linéaire. Chaque cellule peut être du texte ou code. Les cellules de texte sont au format MarkDown, un langage de balisage léger avec la syntaxe de mise en forme de texte brut. Les cellules de code contient du code dans le langage associé à l’ordinateur portable particulier. Ordinateurs portables de Python peuvent exécuter uniquement le code Python et pas R, pendant un bloc-notes R peuvent exécuter R et pas Python.

Figure 1 affiche l’ordinateur portable IntroToJupyterPython disponible sous la forme d’un exemple de fichier sur la Machine virtuelle de données scientifiques. Notez l’indicateur de langue pour l’ordinateur portable dans le coin supérieur droit de la fenêtre du navigateur, indiquant que l’ordinateur portable est attaché à l’exécution de Python 2. Le cercle à droite de « Python 2 » indique l’état actuel du noyau. Un cercle plein indique que le noyau est en cours d’utilisation et un programme est en cours d’exécution. Un cercle vide indique que le noyau est inactif. Notez également que le corps principal de l’ordinateur portable contient de texte, ainsi que de code et d’un tracé de graphiques.

Présentation des fonctionnalités principales d’un bloc-notes Jupyter de bloc-notes didacticiel
Figure 1 bloc-notes didacticiel présente les fonctionnalités de base d’un bloc-notes Jupyter

Création d’un bloc-notes Jupyter dans les blocs-notes Azure

Il existe plusieurs options pour exécuter un bloc-notes jupyter. Toutefois, le moyen le plus rapide pour commencer est en utilisant le service Azure portable, qui est en mode Aperçu au moment de la rédaction. Recherchez sur notebooks.azure.com et connectez-vous avec vos informations d’identification de l’ID de Microsoft. Si vous y êtes invité, autorisez l’application qu’il demande. Pour les utilisateurs débutants, le site vous demandera un ID utilisateur public. Cette opération crée une URL de votre profil d’hôte et de partager des ordinateurs portables. Si vous ne souhaitez pas configurer à ce stade, cliquez sur « Non, Merci. » Dans le cas contraire, entrez une valeur, puis cliquez sur Enregistrer.

L’écran affiche désormais la page du profil. Le service Azure bloc-notes stocke Notebook portables dans les bibliothèques. Pour créer un ordinateur portable, vous devez tout d’abord créer une bibliothèque. Sous bibliothèques, il est un bouton pour ajouter une bibliothèque. Cliquez sur pour créer une nouvelle bibliothèque. Dans la boîte de dialogue qui suit, entrez un nom pour la bibliothèque et un ID pour l’URL pour le partage. Si vous souhaitez rendre public de cette bibliothèque, cochez la case en regard de la « Bibliothèque publique. » Activant ou en désactivant que la case en regard de « Créer un README.md » insère automatiquement un fichier README.md à des fins de documentation. Cliquez sur Créer pour créer une nouvelle bibliothèque.

À présent, votre page de profil auront une bibliothèque répertoriée. Cliquez dessus pour afficher le contenu de la bibliothèque. Actuellement, le seul élément est le fichier README.md. Cliquez sur le bouton Nouveau pour ajouter un nouvel élément. Dans la boîte de dialogue suivante, entrez un nom pour le nouvel élément et choisissez les Python 3.6 bloc-notes dans la liste déroulante en regard de Type d’élément de liste d’et cliquez sur Nouveau.

Une fois que l’élément est créé, il apparaît dans la bibliothèque avec un. Extension de fichier IPYNB. Cliquez dessus pour ouvrir une instance du serveur disponible dans Azure. Notez qu’un nouvel onglet de navigateur ou la fenêtre s’ouvre et que l’interface ressemble plus à l’écran de Figure 1. Cliquez à l’intérieur de la zone de texte, écrivez le code suivant :

print("Hello World!")

Choisissez les cellules de s’exécuter à partir du menu de la cellule en haut de la page. L’écran doit ressembler à Figure 2.

Salut tout le monde ! dans un bloc-notes Jupyter
Figure 2 Hello World ! dans un bloc-notes Jupyter

Cliquez à l’intérieur de la cellule vide qui Notebook ajouté et choisissez la cellule > Type de cellule > Markdown à partir de la barre de menus. Ensuite, ajoutez le texte suivant.

# This is markdown text #
Markdown is a versatile and lightweight markup language.

Cliquez sur l’icône et fermer l’onglet du navigateur. Dans la fenêtre de la bibliothèque, cliquez sur le fichier de bloc-notes à nouveau. Recharge la page et la mise en forme de markdown prendront effet.

Ensuite, ajoutez une autre cellule de code, en cliquant sur la cellule markdown et en choisissant Insérer une cellule en dessous dans le menu Insertion. Auparavant, j’ai indiqué que seul le code Python pu être exécuté dans le bloc-notes de Python. Qui n’est pas entièrement true, comme vous pouvez utiliser le « ! » commande d’émettre des commandes shell. Entrez la commande suivante dans cette nouvelle cellule.

! ls -l

Choisissez d’exécuter des cellules dans le menu Exécuter ou cliquez sur l’icône avec le symbole de lecture/Pause sur celui-ci. La commande retourne une liste du contenu du répertoire qui contient le fichier de bloc-notes et le fichier README.md. Une fois encore, Notebook ajouté une cellule vide après la réponse. Tapez le code suivant dans la cellule vide :

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
plt.scatter(x, y)
plt.show()

Exécuter la cellule et après quelques instants, un nuage de points s’affiche dans les résultats. Pour ceux qui connaissent Python, la première ligne de code peut vous sembler inconnue, car elle fait partie du noyau notebooks qui exécute le code Python dans un bloc-notes jupyter. Commande % matplotlib inline indique au runtime de notebooks pour afficher des graphiques générés par matplotlib en ligne avec les résultats. Ce type de commande, appelé une commande « magique », commence par « % ». Une exploration complète des commandes magiques garantit son propre article. Pour plus d’informations sur les commandes magiques, reportez-vous à la documentation de IPython à bit.ly/2CfiMvh.

Pour ceux qui ne connaissent pas Python, le segment de code précédent importe deux bibliothèques, NumPy et Matplotlib. NumPy est un package Python pour l’informatique scientifique (numpy.org) et Matplotlib est un graphique 2D populaires traçage bibliothèque pour Python (matplotlib.org). Le code génère deux tableaux de nombres aléatoires 100 et trace les résultats sous la forme d’un nuage de points. La dernière ligne de code affiche le graphique. Comme les numéros sont générés de façon aléatoire, le graphique change légèrement à chaque exécution de la cellule.

Les ordinateurs portables dans le banc d’essai ML

Jusqu'à présent, j’ai démontré les réseaux de bloc-notes en cours d’exécution dans le cadre du service Azure bloc-notes dans le cloud. Toutefois, les portables Notebook peuvent être exécutées localement, ainsi. En fait, les portables Notebook sont intégrées au produit de banc d’essai Azure Machine Learning. Dans mon article précédent, j’ai illustré l’exemple de projet Iris Classification. L’article il mentionne pas, mais il existe un bloc-notes inclus avec le projet détails de toutes les étapes nécessaires pour créer un modèle, ainsi que d’un graphique 3D du jeu de données iris.

Pour l’afficher, ouvrez le projet Iris classifieur à partir de la colonne du mois dernier, « Création de modèles dans Azure ML banc d’essai » (msdn.com/magazine/mt814992). Si vous n’avez pas créé le projet, suivez les instructions de l’article pour créer un projet à partir du modèle. À l’intérieur du projet, illustré Figure 3, cliquez sur l’icône de tiers (1) à partir de la partie supérieure de la barre d’outils verticale sur le côté gauche de la fenêtre, puis cliquez sur iris (2) dans la liste des fichiers.

Affichage des ordinateurs portables dans un projet de banc d’essai d’apprentissage Azure
La figure 3, affichage des ordinateurs portables dans un projet de banc d’essai d’apprentissage Azure

Le fichier de bloc-notes chargé, mais le serveur de l’ordinateur portable ne fonctionne pas, les résultats sont mis en cache à partir d’une exécution précédente. Pour rendre l’ordinateur portable interactif, cliquez sur le bouton Démarrer le serveur bloc-notes (3) pour activer le serveur local bloc-notes.

Faites défiler jusqu'à la cellule vide qui suit immédiatement le graphique 3D et entrez le code suivant pour afficher les cinq premiers enregistrements dans le jeu de données iris :

iris.head(5)

Choisissez Insérer une cellule en dessous dans le menu Insérer et entrez le code suivant dans la cellule vide pour afficher la matrice de corrélation :

iris.corr()

La sortie doit ressembler à Figure 4.

Matrice de corrélation pour le jeu de données Iris
Figure 4 matrice de corrélation pour le jeu de données Iris

Une matrice de corrélation affiche le coefficient de corrélation entre les différents champs dans un jeu de données. Un coefficient de corrélation mesure la dépendance linéaire entre deux variables avec des valeurs plus proche à 1 indique une corrélation positive et des valeurs plus proche-1 pour indiquer une corrélation négative. Valeurs plus proche de 0 indiquent un manque de corrélation entre les deux champs. Par exemple, il est une forte corrélation entre la largeur et la longueur pétale avec une valeur de 0.962757. En revanche, la corrélation entre sépales largeur et la longueur des sépales est beaucoup plus faible avec une valeur de-0.109369. Naturellement, chaque champ a une 1.0 corrélation avec lui-même.

Anacondas

Jusqu’ici, j’ai utilisé uniquement Notebook portables dans le cadre d’un service de cloud de Microsoft ou de localement à l’aide de logiciels Microsoft. Toutefois, Notebook est open source et peut s’exécuter indépendamment de l’écosystème de Microsoft. Un ensemble d’outils courants est Anaconda (anaconda.com/download), une distribution open source des Python et R pour Windows, Mac et Linux. Notebook est fourni dans le cadre de cette installation. En cours d’exécution disponible localement Initialise un serveur Web localement sur le port 8888. Notez que, sur un système, je peux uniquement créer un bloc-notes Python 3 car c’est le noyau uniquement, que j’ai installé sur mon ordinateur.

Machines virtuelles de science des données

Exécute un serveur jupyter Notebook localement est idéal pour les scénarios où un accès Internet n’est pas fiable ou garantie. Pour obtenir d’autres tâches de calcul intensif, il peut être plus sage créer une machine virtuelle et exécutez Notebook sur un matériel plus puissant. Pour faciliter cette tâche, Azure offre l’image de Machine virtuelle de science des données pour Windows et Linux, les outils de science des données les plus populaires déjà installé.

Création d’une machine virtuelle à partir de cette image est simple et rapide. À partir du portail Azure, cliquez sur l’icône Nouveau et recherche d’ordinateur de virtuel pour la science des données » plusieurs options sont disponibles. Toutefois, j’ai constaté que l’image d’Ubuntu est le plus complet. Choisissez l’ordinateur virtuel pour la science des données image Linux (Ubuntu) et créer une machine virtuelle en suivant les étapes dans l’Assistant. Une fois que l’ordinateur est en cours d’exécution, configurez la machine virtuelle pour l’accès Bureau à distance. Reportez-vous à la documentation sur la façon de se connecter à une VM Linux à bit.ly/2qgHOZo.

Lorsqu’il est connecté à l’ordinateur, double-cliquez sur l’icône Bloc-notes sur le bureau. Une fenêtre de terminal s’ouvre, suivi par une fenêtre de navigateur, un peu plus tard. Lorsque vous cliquez sur le bouton Nouveau pour créer un nouvel ordinateur portable, vous avez un certain davantage de choix des environnements et des langues, comme illustré dans Figure 5.

Runtimes disponibles pour la Machine virtuelle pour la science des données Ubuntu
Figure 5 Runtimes disponibles pour la Machine virtuelle de science des données pour Ubuntu

Ainsi que les différents environnements d’exécution, la Machine virtuelle pour la science des données Ubuntu inclut plusieurs exemples d’agendas. Ces ordinateurs portables fournissent des conseils sur tout depuis les principes fondamentaux de Azure ML vers des rubriques plus avancées telles que CNTK et TensorFlow.

Pour résumer

Notebook portables sont un outil essentiel pour le travail de science des données, mais ils ont tendance à confondre de nombreux développeurs, car la plateforme ne possède pas les fonctionnalités de base nécessaires pour développer des logiciels. Ceci est normal. Notebook portables ne sont pas destinées pour cette tâche.

Que faire blocs-notes est fournissent un mécanisme de collaboration où des chercheurs de données peuvent d’Explorer les jeux de données, faire des essais avec différentes hypothèses et partager des observations avec vos collègues. Notebook blocs-notes peuvent exécuter localement sur PC, Mac ou Linux. Azure ML Workbench inclut même un serveur bloc-notes incorporé dans le produit pour une expérimentation plus facile avec les données. Ordinateurs portables peuvent également être exécutés dans le cloud dans le cadre d’un service, tels que des ordinateurs portables d’Azure, ou sur une machine virtuelle avec un matériel plus performante.


Frank La Vigneentraîne la pratique de & données Analytique à Wintellect et des hôtes le podcast DataDriven. Blog régulièrement à FranksWorld.com et que vous pouvez surveiller sur son canal YouTube, « TV du monde de Frank » (FranksWorld.TV).

Merci aux experts techniques suivants d'avoir relu cet article : Andy Leonard


Discussion sur cet article sur le forum MSDN Magazine