Google Colab - Guide rapide

Google est assez agressif dans la recherche sur l'IA. Pendant de nombreuses années, Google a développé un cadre d'IA appeléTensorFlow et un outil de développement appelé Colaboratory. Aujourd'hui, TensorFlow est open-source et depuis 2017, Google a rendu Colaboratory gratuit pour un usage public. Colaboratory est maintenant connu sous le nom de Google Colab ou simplementColab.

Une autre fonctionnalité intéressante que Google propose aux développeurs est l'utilisation du GPU. Colab prend en charge le GPU et est totalement gratuit. Les raisons de le rendre gratuit pour le public pourraient être de faire de son logiciel une norme dans les universitaires pour l'enseignement de l'apprentissage automatique et de la science des données. Il peut également avoir une perspective à long terme de créer une base de clients pour les API Google Cloud qui sont vendues à l'utilisation.

Indépendamment des raisons, l'introduction de Colab a facilité l'apprentissage et le développement d'applications d'apprentissage automatique.

Alors, commençons avec Colab.

Si vous avez utilisé Jupyternotebook auparavant, vous apprendriez rapidement à utiliser Google Colab. Pour être précis, Colab est un environnement de notebook Jupyter gratuit qui s'exécute entièrement dans le cloud. Plus important encore, il ne nécessite pas de configuration et les blocs-notes que vous créez peuvent être modifiés simultanément par les membres de votre équipe - tout comme vous modifiez des documents dans Google Docs. Colab prend en charge de nombreuses bibliothèques d'apprentissage automatique populaires qui peuvent être facilement chargées dans votre ordinateur portable.

Que vous offre Colab?

En tant que programmeur, vous pouvez effectuer les opérations suivantes à l'aide de Google Colab.

  • Ecrire et exécuter du code en Python

  • Documentez votre code qui prend en charge les équations mathématiques

  • Créer / télécharger / partager des blocs-notes

  • Importer / enregistrer des blocs-notes depuis / vers Google Drive

  • Importer / publier des blocs-notes depuis GitHub

  • Importer des ensembles de données externes, par exemple depuis Kaggle

  • Intégrer PyTorch, TensorFlow, Keras, OpenCV

  • Service Cloud gratuit avec GPU gratuit

Dans ce chapitre, vous allez créer et exécuter votre premier notebook trivial. Suivez les étapes qui ont été données là où c'est nécessaire.

Note - Comme Colab utilise implicitement Google Drive pour stocker vos blocs-notes, assurez-vous que vous êtes connecté à votre compte Google Drive avant de continuer.

Step 1 - Ouvrez l'URL suivante dans votre navigateur - https://colab.research.google.com Votre navigateur affichera l'écran suivant (en supposant que vous soyez connecté à votre Google Drive) -

Step 2 - Cliquez sur le NEW PYTHON 3 NOTEBOOKlien en bas de l'écran. Un nouveau bloc-notes s'ouvrirait comme indiqué dans l'écran ci-dessous.

Comme vous l'avez peut-être remarqué, l'interface du notebook est assez similaire à celle fournie dans Jupyter. Il y a une fenêtre de code dans laquelle vous saisissez votre code Python.

Définition du nom du notebook

Par défaut, le notebook utilise la convention de dénomination UntitledXX.ipynb. Pour renommer le notebook, cliquez sur ce nom et saisissez le nom souhaité dans la zone d'édition comme indiqué ici -

Nous appellerons ce cahier comme MyFirstColabNotebook. Tapez donc ce nom dans la zone d'édition et appuyez sur ENTRÉE. Le cahier va acquérir le nom que vous avez donné maintenant.

Saisie du code

Vous allez maintenant entrer un code Python trivial dans la fenêtre de code et l'exécuter.

Entrez les deux instructions Python suivantes dans la fenêtre de code -

import time
print(time.ctime())

Code d'exécution

Pour exécuter le code, cliquez sur la flèche sur le côté gauche de la fenêtre de code.

Après un certain temps, vous verrez la sortie sous la fenêtre de code, comme indiqué ici -

Mon Jun 17 05:58:40 2019

Vous pouvez effacer la sortie à tout moment en cliquant sur l'icône sur le côté gauche de l'affichage de sortie.

Ajout de cellules de code

Pour ajouter plus de code à votre bloc-notes, sélectionnez ce qui suit menu options -

Insert / Code Cell

Sinon, passez simplement la souris en bas au centre de la cellule Code. Quand leCODE et TEXTdes boutons apparaissent, cliquez sur le CODE pour ajouter une nouvelle cellule. Ceci est montré dans la capture d'écran ci-dessous -

Une nouvelle cellule de code sera ajoutée sous la cellule actuelle. Ajoutez les deux instructions suivantes dans la fenêtre de code nouvellement créée -

time.sleep(5)
print (time.ctime())

Maintenant, si vous exécutez cette cellule, vous verrez la sortie suivante -

Mon Jun 17 04:50:27 2019

Certes, le décalage horaire entre les deux chaînes de temps n'est pas de 5 secondes. Cela est évident car vous avez pris un certain temps pour insérer le nouveau code. Colab vous permet d'exécuter tout le code de votre ordinateur portable sans interruption.

Tout exécuter

Pour exécuter l'intégralité du code dans votre notebook sans interruption, exécutez les options de menu suivantes -

Runtime / Reset and run all…

Il vous donnera la sortie comme indiqué ci-dessous -

Notez que le décalage horaire entre les deux sorties est maintenant exactement de 5 secondes.

L'action ci-dessus peut également être lancée en exécutant les deux options de menu suivantes -

Runtime / Restart runtime…

ou

Runtime / Restart all runtimes…

Suivi par

Runtime / Run all

Étudiez les différentes options de menu sous le Runtime pour vous familiariser avec les différentes options qui s'offrent à vous pour exécuter le notebook.

Changer l'ordre des cellules

Lorsque votre bloc-notes contient un grand nombre de cellules de code, vous pouvez rencontrer des situations dans lesquelles vous souhaitez modifier l'ordre d'exécution de ces cellules. Vous pouvez le faire en sélectionnant la cellule que vous souhaitez déplacer et en cliquant sur le boutonUP CELL ou DOWN CELL boutons affichés dans la capture d'écran suivante -

Vous pouvez cliquer plusieurs fois sur les boutons pour déplacer la cellule sur plusieurs positions.

Supprimer une cellule

Pendant le développement de votre projet, vous avez peut-être introduit quelques cellules désormais indésirables dans votre bloc-notes. Vous pouvez facilement supprimer ces cellules de votre projet en un seul clic. Cliquez sur l'icône en pointillé vertical dans le coin supérieur droit de votre cellule de code.

Clique sur le Delete cell option et la cellule actuelle sera supprimée.

Maintenant que vous avez appris à exécuter un notebook trivial, laissez-nous explorer les autres fonctionnalités de Colab.

Comme la cellule de code prend en charge la syntaxe Python complète, vous pouvez utiliser Python commentsdans la fenêtre de code pour décrire votre code. Cependant, souvent, vous avez besoin de plus qu'un simple commentaire basé sur du texte pour illustrer les algorithmes de ML. ML utilise beaucoup les mathématiques et pour expliquer ces termes et équations à vos lecteurs, vous avez besoin d'un éditeur qui prend en charge LaTex - un langage pour les représentations mathématiques. Colab fournitText Cells dans ce but.

Une cellule de texte contenant quelques équations mathématiques généralement utilisées dans ML est affichée dans la capture d'écran ci-dessous -

Au fur et à mesure que nous avancerons dans ce chapitre, nous verrons le code pour générer la sortie ci-dessus.

Les cellules de texte sont formatées à l'aide de markdown- un langage de balisage simple. Voyons maintenant comment ajouter des cellules de texte à votre bloc-notes et y ajouter du texte contenant des équations mathématiques.

Exemples de démarques

Examinons quelques exemples de syntaxe de langage de balisage pour démontrer ses capacités.

Tapez le texte suivant dans la cellule Texte.

This is **bold**.
This is *italic*.
This is ~strikethrough~.

La sortie des commandes ci-dessus est rendue sur le côté droit de la cellule, comme illustré ici.

Equations mathématiques

Ajouter un Text Cell dans votre notebook et entrez la syntaxe de démarque suivante dans la fenêtre de texte -

$\sqrt{3x-1}+(1+x)^2$

Vous verrez le rendu immédiat du code de démarque dans le panneau de droite de la cellule de texte. Ceci est montré dans la capture d'écran ci-dessous -

Frappé Enter et le code de démarque disparaît de la cellule de texte et seule la sortie rendue est affichée.

Essayons une autre équation plus compliquée comme indiqué ici -

$e^x = \sum_{i = 0}^\infty \frac{1}{i!}x^i$

La sortie rendue est affichée ici pour votre référence rapide.

Code pour les exemples d'équations

Voici le code des exemples d'équations montrés dans une capture d'écran précédente -

Constraints are
   - $3x_1 + 6x_2 + x_3 =< 28$
   - $7x_1 + 3x_2 + 2x_3 =< 37$
   - $4x_1 + 5x_2 + 2x_3 =< 19$
   - $x_1,x_2,x_3 >=0 $

The trial vector is calculated as follows:
- $u_i(t) = x_i(t) + \beta(\hat{x}(t) − x_i(t)) + \beta \sum_{k = 1}^{n_v}(x_{i1,k}(t) − x_{i2,k}(t))$
$f(x_1, x_2) = 20 + e - 20exp(-0.2 \sqrt {\frac {1}{n} (x_1^2 + x_2^2)}) - exp (\frac {1}{n}(cos(2\pi x_1) + cos(2\pi x_2))$

$x ∈ [-5, 5]$
>$A_{m,n} =
   \begin{pmatrix}
   a_{1,1} > a_{1,2} > \cdots > a_{1,n} \\
   a_{2,1} > a_{2,2} > \cdots > a_{2,n} \\
   \vdots > \vdots > \ddots > \vdots \\
   a_{m,1} > a_{m,2} > \cdots > a_{m,n}
   \end{pmatrix}$

La description de la syntaxe de balisage complète dépasse le cadre de ce didacticiel. Dans le chapitre suivant, nous verrons comment sauvegarder votre travail.

Colab vous permet d'enregistrer votre travail sur Google Drive ou même directement dans votre référentiel GitHub.

Enregistrer sur Google Drive

Colab vous permet d'enregistrer votre travail sur votre Google Drive. Pour enregistrer votre notebook, sélectionnez les options de menu suivantes -

File / Save a copy in Drive…

Vous verrez l'écran suivant -

L'action créera une copie de votre ordinateur portable et l'enregistrera sur votre lecteur. Plus tard, vous pouvez renommer la copie selon votre choix de nom.

Enregistrer sur GitHub

Vous pouvez également enregistrer votre travail dans votre référentiel GitHub en sélectionnant les options de menu suivantes -

File / Save a copy in GitHub...

La sélection de menu est affichée dans la capture d'écran suivante pour votre référence rapide -

Vous devrez attendre de voir l'écran de connexion à GitHub.

Maintenant, entrez vos informations d'identification. Si vous n'avez pas de référentiel, créez-en un nouveau et enregistrez votre projet comme indiqué dans la capture d'écran ci-dessous -

Dans le chapitre suivant, nous apprendrons comment partager votre travail avec les autres.

Pour partager le bloc-notes que vous avez créé avec d'autres codéveloppeurs, vous pouvez partager la copie que vous avez créée dans votre Google Drive.

Pour publier le bloc-notes auprès du grand public, vous pouvez le partager à partir de votre référentiel GitHub.

Il existe un autre moyen de partager votre travail, c'est en cliquant sur le SHARElien en haut à droite de votre notebook Colab. Cela ouvrira la boîte de partage comme indiqué ici -

Vous pouvez saisir les identifiants de messagerie des personnes avec lesquelles vous souhaitez partager le document actuel. Vous pouvez définir le type d'accès en sélectionnant parmi les trois options affichées dans l'écran ci-dessus.

Clique sur le Get shareable linkoption pour obtenir l'URL de votre notebook. Vous trouverez les options pour qui partager comme suit -

  • Groupe de personnes spécifié

  • Collègues de votre organisation

  • Toute personne disposant du lien

  • Tout public sur le Web

Maintenant. vous savez créer / exécuter / enregistrer / partager un cahier. Dans la cellule Code, nous avons utilisé Python jusqu'à présent. La cellule de code peut également être utilisée pour appeler des commandes système. Ceci est expliqué ensuite.

Jupyter comprend des raccourcis pour de nombreuses opérations système courantes. La cellule Colab Code prend en charge cette fonctionnalité.

Commandes simples

Entrez le code suivant dans la cellule Code qui utilise la commande système echo.

message = 'A Great Tutorial on Colab by Tutorialspoint!'
greeting = !echo -e '$message\n$message'
greeting

Maintenant, si vous exécutez la cellule, vous verrez la sortie suivante -

['A Great Tutorial on Colab by Tutorialspoint!', 'A Great Tutorial on Colab by Tutorialspoint!']

Obtenir des données à distance

Examinons un autre exemple qui charge l'ensemble de données à partir d'un serveur distant. Tapez la commande suivante dans votre cellule Code -

!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"

Si vous exécutez le code, vous verrez la sortie suivante -

--2019-06-20 10:09:53-- http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data
Resolving mlr.cs.umass.edu (mlr.cs.umass.edu)... 128.119.246.96
Connecting to mlr.cs.umass.edu (mlr.cs.umass.edu)|128.119.246.96|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 3974305 (3.8M) [text/plain] 
Saving to: ‘/content/drive/My Drive/app/adult.data.1’

adult.data.1 100%[===================>] 3.79M 1.74MB/s in 2.2s

2019-06-20 10:09:56 (1.74 MB/s) - ‘/content/drive/My Drive/app/adult.data.1’ saved [3974305/3974305]

Comme le dit le message, le adult.data.1Le fichier est maintenant ajouté à votre disque. Vous pouvez le vérifier en examinant le contenu du dossier de votre lecteur. Vous pouvez également saisir le code suivant dans une nouvelle cellule Code -

import pandas as pd
data = pd.read_csv("/content/drive/My Drive/app/adult.data.1")
data.head(5)

Exécutez le code maintenant et vous verrez la sortie suivante -

De même, la plupart des commandes système peuvent être appelées dans votre cellule de code en ajoutant à la commande un point d'exclamation (!). Examinons un autre exemple avant de donner la liste complète des commandes que vous pouvez appeler.

Cloner le référentiel Git

Vous pouvez cloner l'intégralité du référentiel GitHub dans Colab à l'aide du gitcommander. Par exemple, pour cloner le didacticiel keras, tapez la commande suivante dans la cellule Code -

!git clone https://github.com/wxs/keras-mnist-tutorial.git

Après une exécution réussie de la commande, vous verrez la sortie suivante -

Cloning into 'keras-mnist-tutorial'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Unpacking objects: 100% (26/26), done.

Une fois le dépôt cloné, localisez un projet Jupyter (par exemple MINST dans keras.ipyab), cliquez-droit sur le nom du fichier et sélectionnez Open With / Colaboratory option de menu pour ouvrir le projet dans Colab.

Alias ​​système

Pour obtenir une liste de raccourcis pour les opérations courantes, exécutez la commande suivante -

!ls /bin

Vous verrez la liste dans la fenêtre de sortie comme indiqué ci-dessous -

bash*             journalctl*       sync*
bunzip2*          kill*             systemctl*
bzcat*            kmod*             [email protected]
[email protected]            less*             systemd-ask-password*
bzdiff*           lessecho*         systemd-escape*
[email protected]          [email protected]         systemd-hwdb*
bzexe*            lesskey*          systemd-inhibit*
[email protected]          lesspipe*         systemd-machine-id-setup*
bzgrep*           ln*               systemd-notify*
bzip2*            login*            systemd-sysusers*
bzip2recover*     loginctl*         systemd-tmpfiles*
[email protected]           ls*               systemd-tty-ask-password-agent*
bzmore*           lsblk*            tar*
cat*              [email protected]            tempfile*
chgrp*            mkdir*            touch*
chmod*            mknod*            true*
chown*            mktemp*           udevadm*
cp*               more*             ulockmgr_server*
dash*             mount*            umount*
date*             mountpoint*       uname*
dd*               mv*               uncompress*
df*               networkctl*       vdir*
dir*              [email protected]    wdctl*
dmesg*            [email protected]            which*
[email protected]    ps*               [email protected]
[email protected]       pwd*              zcat*
echo*             [email protected]            zcmp*
egrep*            readlink*         zdiff*
false*            rm*               zegrep*
fgrep*            rmdir*            zfgrep*
findmnt*          run-parts*        zforce*
fusermount*       sed*              zgrep*
grep*             [email protected]               zless*
gunzip*           [email protected]       zmore*
gzexe*            sleep*            znew*
gzip*             stty*
hostname*         su*

Exécutez l'une de ces commandes comme nous l'avons fait pour echo et wget. Dans le chapitre suivant, nous verrons comment exécuter votre code Python précédemment créé.

Supposons que vous ayez déjà développé du code Python qui est stocké dans votre Google Drive. Maintenant, vous aimerez charger ce code dans Colab pour d'autres modifications. Dans ce chapitre, nous verrons comment charger et exécuter le code stocké dans votre Google Drive.

Montage du lecteur

Tools / Command palette

Vous verrez la liste des commandes comme indiqué dans cette capture d'écran -

Tapez quelques lettres comme «m» dans la zone de recherche pour localiser la commande de montage. SélectionnerMount Drivecommande dans la liste. Le code suivant serait inséré dans votre cellule Code.

# Run this cell to mount your Google Drive.
from google.colab import drive
drive.mount('/content/drive')

Si vous exécutez ce code, il vous sera demandé de saisir le code d'authentification. L'écran correspondant ressemble à celui ci-dessous -

Ouvrez l'URL ci-dessus dans votre navigateur. Il vous sera demandé de vous connecter à votre compte Google. Maintenant, vous verrez l'écran suivant -

Si vous accordez les autorisations, vous recevrez votre code comme suit -

Coupez-collez ce code dans la cellule Code et appuyez sur ENTRÉE. Après un certain temps, le lecteur sera monté comme le montre la capture d'écran ci-dessous -

Vous êtes maintenant prêt à utiliser le contenu de votre lecteur dans Colab.

Liste du contenu du lecteur

Vous pouvez lister le contenu du lecteur en utilisant la commande ls comme suit -

!ls "/content/drive/My Drive/Colab Notebooks"

Cette commande répertorie le contenu de votre dossier Colab Notebooks. L'exemple de sortie du contenu de mon lecteur est affiché ici -

Greeting.ipynb hello.py LogisticRegressionCensusData.ipynb LogisticRegressionDigitalOcean.ipynb MyFirstColabNotebook.ipynb SamplePlot.ipynb

Exécution de code Python

Maintenant, disons que vous souhaitez exécuter un fichier Python appelé hello.py stocké dans votre Google Drive. Tapez la commande suivante dans la cellule Code -

!python3 "/content/drive/My Drive/Colab Notebooks/hello.py"

Le contenu de hello.py est donné ici pour votre référence -

print("Welcome to TutorialsPoint!")

Vous verrez maintenant la sortie suivante -

Welcome to TutorialsPoint!

Outre la sortie de texte, Colab prend également en charge les sorties graphiques. Nous verrons cela dans le prochain chapitre.

Colab prend également en charge les sorties riches telles que les graphiques. Tapez le code suivant dans la cellule Code.

import numpy as np
from matplotlib import pyplot as plt

y = np.random.randn(100)
x = [x for x in range(len(y))]

plt.plot(x, y, '-')
plt.fill_between(x, y, 200, where = (y > 195), facecolor='g', alpha=0.6)

plt.title("Sample Plot")
plt.show()

Maintenant, si vous exécutez le code, vous verrez la sortie suivante -

Notez que la sortie graphique est affichée dans la section de sortie de la cellule Code. De même, vous pourrez créer et afficher plusieurs types de graphiques tout au long de votre code de programme.

Maintenant que vous vous êtes familiarisé avec les bases de Colab, passons aux fonctionnalités de Colab qui facilitent le développement de votre code Python.

Les développeurs actuels s'appuient fortement sur une aide contextuelle pour les syntaxes du langage et de la bibliothèque. C'est pourquoi les IDE sont largement utilisés. L'éditeur de notebook Colab fournit cette fonctionnalité.

Dans ce chapitre, voyons comment demander une aide contextuelle lors de l'écriture de code Python dans Colab. Suivez les étapes qui ont été données là où c'est nécessaire.

Liste des fonctions

Step 1 - Ouvrez un nouveau bloc-notes et tapez le code suivant dans la cellule Code -

import torch

Step 2- Exécutez le code en cliquant sur l'icône Exécuter dans le panneau gauche de la cellule Code. Ajoutez une autre cellule Code et tapez le code suivant -

Tensor = torch.

À ce stade, supposons que vous ayez oublié quelles sont les différentes fonctions disponibles dans torchmodule. Vous pouvez demander l'aide contextuelle sur les noms de fonctions en appuyant sur la toucheTABclé. Notez la présence duDOT après le torchmot-clé. Sans ce DOT, vous ne verrez pas l'aide contextuelle. Votre écran ressemblerait à celui illustré dans la capture d'écran ici -

Maintenant, sélectionnez la fonction souhaitée dans la liste et procédez à votre codage.

Documentation des fonctions

Colab vous fournit la documentation sur tout function ou class comme une aide contextuelle.

Tapez le code suivant dans votre fenêtre de code -

Tensor = torch.cos(

Maintenant, frappe TAB et vous verrez la documentation sur cosdans la fenêtre contextuelle comme indiqué dans la capture d'écran ici. Notez que vous devez taperopen parenthesis avant d'appuyer sur TAB.

Dans le prochain chapitre, nous verrons Magics dans Colab qui nous permet de faire des choses plus puissantes que ce que nous avons fait avec les alias système.

Magics est un ensemble de commandes système qui fournissent un mini langage de commande étendu.

Les magies sont de deux types -

  • Magie de ligne

  • Magie cellulaire

La ligne magique comme son nom indique qu'elle se compose d'une seule ligne de commande, tandis que la magie de la cellule couvre tout le corps de la cellule de code.

Dans le cas de la magie en ligne, la commande est précédée d'un seul caractère% et dans le cas de la magie cellulaire, elle est précédée de deux caractères% (%%).

Examinons quelques exemples des deux pour les illustrer.

Magie de ligne

Tapez le code suivant dans votre cellule de code -

%ldir

Vous verrez le contenu de votre répertoire local, quelque chose comme ceci -

drwxr-xr-x 3 root 4096 Jun 20 10:05 drive/
drwxr-xr-x 1 root 4096 May 31 16:17 sample_data/

Essayez la commande suivante -

%history

Ceci présente l'historique complet des commandes que vous avez précédemment exécutées.

Magie cellulaire

Tapez le code suivant dans votre cellule de code -

%%html
<marquee style='width: 50%; color: Green;'>Welcome to Tutorialspoint!</marquee>

Maintenant, si vous exécutez le code et que vous verrez le message de bienvenue défilant sur l'écran comme indiqué ici -

Le code suivant ajoutera SVG à votre document.

%%html
<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 600 400" width="400" height="400">
   <rect x="10" y="00" width="300" height="100" rx="0" style="fill:orange; stroke:black; fill-opacity:1.0" />
   <rect x="10" y="100" width="300" height="100" rx="0" style="fill:white; stroke:black; fill-opacity:1.0;" />
   <rect x="10" y="200" width="300" height="100" rx="0" style="fill:green; stroke:black; fill-opacity:1.0;" />
</svg>

Si vous exécutez le code, vous verrez la sortie suivante -

Liste des magies

Pour obtenir une liste complète des magies prises en charge, exécutez la commande suivante -

%lsmagic

Vous verrez la sortie suivante -

Available line magics:
%alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear
%colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit
%env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext
%loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro
%magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef
%pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %profile %prun
%psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall
%rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save
%sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit
%unalias %unload_ext %who %who_ls %whos %xdel %xmode

Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript
%%js %%latex %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script
%%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

Ensuite, vous apprendrez une autre fonctionnalité puissante de Colab pour définir les variables du programme lors de l'exécution.

Colab fournit un utilitaire très utile appelé Forms qui vous permet d'accepter les entrées de l'utilisateur au moment de l'exécution. Voyons maintenant comment ajouter des formulaires à votre bloc-notes.

Ajout d'un formulaire

Dans une leçon précédente, vous avez utilisé le code suivant pour créer un délai -

import time
print(time.ctime())
time.sleep(5)
print (time.ctime())

Supposons que vous souhaitiez un délai défini par l'utilisateur au lieu d'un délai fixe de 5 secondes. Pour cela, vous pouvez ajouter un formulaire à la cellule Code pour accepter le temps de sommeil.

Ouvrez un nouveau bloc-notes. Clique sur leOptionsmenu (pointillé verticalement). Un menu contextuel apparaît comme le montre la capture d'écran ci-dessous -

Maintenant, sélectionnez Add a formoption. Il ajoutera le formulaire à votre cellule Code avec un titre par défaut comme indiqué dans la capture d'écran ici -

Pour changer le titre du formulaire, cliquez sur le Settingsbouton (icône en forme de crayon à droite). Un écran de paramètres apparaîtra comme indiqué ici:

Remplacez le titre du formulaire par “Form”et enregistrez le formulaire. Vous pouvez utiliser un autre nom de votre choix. Notez qu'il ajoute le@title à votre cellule de code.

Vous pouvez explorer d'autres options sur l'écran ci-dessus ultérieurement. Dans la section suivante, nous apprendrons comment ajouter des champs de saisie au formulaire.

Ajout de champs de formulaire

Pour ajouter un champ de formulaire, cliquez sur le bouton Options dans la cellule Code, cliquez sur le Formpour révéler les sous-menus. L'écran ressemblera à celui ci-dessous -

Sélectionner Add a form fieldoption de menu. Une boîte de dialogue apparaît comme ici -

Quitter le Form field type à input. Changer la Variable name à sleeptime et définissez le Variable type à integer. Enregistrez les modifications en cliquant sur leSave bouton.

Votre écran ressemblera maintenant à ce qui suit avec le sleeptime variable ajoutée dans le code.

Ensuite, voyons comment tester le formulaire en ajoutant du code qui utilise le sleeptime variable.

Formulaire de test

Ajoutez une nouvelle cellule Code sous la cellule de formulaire. Utilisez le code ci-dessous -

import time
print(time.ctime())
time.sleep(sleeptime)
print (time.ctime())

Vous avez utilisé ce code dans la leçon précédente. Il imprime l'heure actuelle, attend un certain temps et imprime un nouvel horodatage. La durée d'attente du programme est définie dans la variable appeléesleeptime.

Maintenant, revenez à la Form Cellule et saisissez une valeur de 2 pour le sleeptime. Sélectionnez le menu suivant -

Runtime / Run all

Cela exécute le cahier entier. Vous pouvez voir un écran de sortie comme indiqué ci-dessous.

Notez qu'il a pris votre valeur d'entrée de 2 pour le

Temps de sommeil

. Essayez de changer cela en une valeur différente et Run all pour voir son effet.

Saisie de texte

Pour accepter une saisie de texte dans votre formulaire, entrez le code suivant dans une nouvelle cellule de code.

name = 'Tutorialspoint' #@param {type:"string"}
print(name)

Maintenant, si vous exécutez la cellule Code, quel que soit le nom que vous définissez dans le formulaire, il sera imprimé à l'écran. Par défaut, la sortie suivante apparaîtrait à l'écran.

Tutorialspoint

Notez que vous pouvez utiliser les options de menu comme indiqué pour l'entrée entière pour créer un Text champ de saisie.

La liste déroulante

Pour ajouter une liste déroulante à votre formulaire, utilisez le code suivant -

color = 'green' #@param ["red", "green", "blue"]
print(color)

Cela crée une liste déroulante avec trois valeurs - rouge, vert et bleu. La sélection par défaut est verte.

La liste déroulante est affichée dans la capture d'écran ci-dessous -

Entrée de la date

Colab Form vous permet d'accepter des dates dans votre code avec des validations. Utilisez le code suivant pour saisir la date dans votre code.

#@title Date fields
date_input = '2019-06-03' #@param {type:"date"}
print(date_input)

L'écran Formulaire ressemble à ce qui suit.

Essayez de saisir une valeur de date erronée et observez les validations.

Jusqu'à présent, vous avez appris à utiliser Colab pour créer et exécuter des blocs-notes Jupyter avec votre code Python. Dans le chapitre suivant, nous verrons comment installer des bibliothèques ML populaires dans votre notebook afin que vous puissiez les utiliser dans votre code Python.

Colab prend en charge la plupart des bibliothèques de machine learning disponibles sur le marché. Dans ce chapitre, examinons rapidement comment installer ces bibliothèques dans votre notebook Colab.

Pour installer une bibliothèque, vous pouvez utiliser l'une de ces options -

!pip install

ou

!apt-get install

Keras

Keras, écrit en Python, s'exécute sur TensorFlow, CNTK ou Theano. Il permet un prototypage simple et rapide des applications de réseau neuronal. Il prend en charge à la fois les réseaux convolutifs (CNN) et les réseaux récurrents, ainsi que leurs combinaisons. Il prend en charge de manière transparente le GPU.

Pour installer Keras, utilisez la commande suivante -

!pip install -q keras

PyTorch

PyTorch est idéal pour développer des applications d'apprentissage en profondeur. Il s'agit d'une bibliothèque de tenseurs optimisée et compatible GPU. Pour installer PyTorch, utilisez la commande suivante -

!pip3 install torch torchvision

MxNet

Apache MxNet est une autre bibliothèque flexible et efficace pour l'apprentissage en profondeur. Pour installer MxNet, exécutez les commandes suivantes -

!apt install libnvrtc8.0
!pip install mxnet-cu80

OpenCV

OpenCV est une bibliothèque de vision par ordinateur open source pour le développement d'applications d'apprentissage automatique. Il dispose de plus de 2500 algorithmes optimisés qui prennent en charge plusieurs applications telles que la reconnaissance de visages, l'identification d'objets, le suivi d'objets en mouvement, l'assemblage d'images, etc. Des géants comme Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota utilisent cette bibliothèque. Ceci est parfaitement adapté au développement d'applications de vision en temps réel.

Pour installer OpenCV, utilisez la commande suivante -

!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python

XGBoost

XGBoost est une bibliothèque distribuée d'amplification de gradient qui s'exécute sur les principaux environnements distribués tels que Hadoop. Il est très efficace, flexible et portable. Il implémente des algorithmes ML dans le cadre de Gradient Boosting.

Pour installer XGBoost, utilisez la commande suivante -

!pip install -q xgboost==0.4a30

GraphViz

Graphviz est un logiciel open source pour les visualisations de graphiques. Il est utilisé pour la visualisation dans les réseaux, la bioinformatique, la conception de bases de données et d'ailleurs dans de nombreux domaines où une interface visuelle des données est souhaitée.

Pour installer GraphViz, utilisez la commande suivante -

!apt-get -qq install -y graphviz && pip install -q pydot

À ce stade, vous avez appris à créer des blocs-notes Jupyter contenant des bibliothèques d'apprentissage automatique populaires. Vous êtes maintenant prêt à développer vos modèles de machine learning. Cela nécessite une puissance de traitement élevée. Colab fournit un GPU gratuit pour vos notebooks.

Dans le chapitre suivant, nous apprendrons comment activer le GPU pour votre ordinateur portable.

Google propose l'utilisation d'un GPU gratuit pour vos notebooks Colab.

Activation du GPU

Pour activer le GPU dans votre ordinateur portable, sélectionnez les options de menu suivantes -

Runtime / Change runtime type

Vous verrez l'écran suivant comme sortie -

Sélectionner GPUet votre ordinateur portable utiliserait le GPU gratuit fourni dans le cloud pendant le traitement. Pour avoir une idée du traitement GPU, essayez d'exécuter l'exemple d'application à partir deMNIST tutoriel que vous avez cloné précédemment.

!python3 "/content/drive/My Drive/app/mnist_cnn.py"

Essayez d'exécuter le même fichier Python sans le GPU activé. Avez-vous remarqué la différence de vitesse d'exécution?

Tester le GPU

Vous pouvez facilement vérifier si le GPU est activé en exécutant le code suivant -

import tensorflow as tf
tf.test.gpu_device_name()

Si le GPU est activé, il donnera la sortie suivante -

'/device:GPU:0'

Liste des appareils

Si vous êtes curieux de connaître les appareils utilisés lors de l'exécution de votre notebook dans le cloud, essayez le code suivant -

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

Vous verrez la sortie comme suit -

[name: "/device:CPU:0"
   device_type: "CPU"
   memory_limit: 268435456
   locality { }
   incarnation: 1734904979049303143, name: "/device:XLA_CPU:0"
   device_type: "XLA_CPU" memory_limit: 17179869184
   locality { } 
   incarnation: 16069148927281628039
   physical_device_desc: "device: XLA_CPU device", name: "/device:XLA_GPU:0"
   device_type: "XLA_GPU"
   memory_limit: 17179869184
   locality { }
   incarnation: 16623465188569787091
   physical_device_desc: "device: XLA_GPU device", name: "/device:GPU:0"
   device_type: "GPU"
   memory_limit: 14062547764
   locality {
      bus_id: 1
      links { } 
   }
   incarnation: 6674128802944374158
physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"]

Vérification de la RAM

Pour voir les ressources mémoire disponibles pour votre processus, tapez la commande suivante -

!cat /proc/meminfo

Vous verrez la sortie suivante -

MemTotal: 13335276 kB
MemFree: 7322964 kB
MemAvailable: 10519168 kB
Buffers: 95732 kB
Cached: 2787632 kB
SwapCached: 0 kB
Active: 2433984 kB
Inactive: 3060124 kB
Active(anon): 2101704 kB
Inactive(anon): 22880 kB
Active(file): 332280 kB
Inactive(file): 3037244 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 412 kB
Writeback: 0 kB
AnonPages: 2610780 kB
Mapped: 838200 kB
Shmem: 23436 kB
Slab: 183240 kB
SReclaimable: 135324 kB
SUnreclaim: 47916
kBKernelStack: 4992 kB
PageTables: 13600 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6667636 kB
Committed_AS: 4801380 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 303092 kB
DirectMap2M: 5988352 kB
DirectMap1G: 9437184 kB

Vous êtes maintenant prêt pour le développement de modèles d'apprentissage automatique en Python à l'aide de Google Colab.

Google Colab est une plate-forme puissante pour apprendre et développer rapidement des modèles d'apprentissage automatique en Python. Il est basé sur le notebook Jupyter et prend en charge le développement collaboratif. Les membres de l'équipe peuvent partager et modifier simultanément les blocs-notes, même à distance. Les blocs-notes peuvent également être publiés sur GitHub et partagés avec le grand public. Colab prend en charge de nombreuses bibliothèques ML populaires telles que PyTorch, TensorFlow, Keras et OpenCV. La restriction à partir d'aujourd'hui est qu'il ne prend pas encore en charge R ou Scala. Il existe également une limitation des sessions et de la taille. Compte tenu des avantages, ce sont de petits sacrifices à faire.