Initiation au Deep Learning avec Google Colab 7 minutes

Le Deep Learning et la science des données, deux sujets à la mode, qui sont sur toutes les langues! Vous aimeriez vous initier, mais ne savez pas comment configurer un environnement de développement Python sur votre ordinateur pour vos premiers projets.

Dans cet article, je vous présenterai les nombreux avantages d’un outil Cloud, simple, gratuit et adapté à la science des données : Google Colaboratory. Cet outil permet de développer des applications en Deep Learning en Python en un éclair. Pour commencer, il vous suffit simplement d’avoir un compte Gmail.

Qu’est-ce que Google Colaboratory et quels en sont les avantages ?

Google Colaboratory ou Colab, un outil Google simple et gratuit pour vous initier au Deep Learning ou collaborer avec vos collègues sur des projets en science des données.

Colab permet :

  • D’améliorer vos compétences de codage en langage de programmation Python.
  • De développer des applications en Deep Learning en utilisant des bibliothèques Python populaires telles que Keras, TensorFlow, PyTorch et OpenCV.
  • D’utiliser un environnement de développement (Jupyter Notebook) qui ne nécessite aucune configuration.

Mais la fonctionnalité qui distingue Colab des autres services est l’accès à un processeur graphique GPU, totalement gratuitement! Des informations détaillées sur le service sont disponibles sur la page FAQ de Colab.

Comme son nom l’indique, Google Colaboratory s’accompagne du terme « collaboration ». En fait, Colab exploite les mêmes fonctionnalités de collaboration des autres éléments de la G Suite : Sheet, Slide, Docs, etc. Il fonctionne sur les serveurs Google et vous n’avez rien à installer.

De plus, les documents Colab (Jupyter Notebook) sont enregistrés directement votre compte Google Drive.

Guide pas à pas pour activer Google Colab et développer votre premier modèle en Deep Learning

Étape 1 – Créer un nouveau dossier sur Google Drive

Dans un premier temps, connectez-vous à votre compte Gmail (ou G Suite) puis rendez-vous dans l’application Google Drive et créez un nouveau dossier. Dans cet exemple, j’ai créé un dossier nommé « app » dans mon Google Drive. Vous pouvez bien sûr utiliser un nom différent.

Une fois le dossier créé, vous devriez obtenir un écran similaire à celui-ci :

Dossier app dans My Drive
Dossier « app » créé et vide.

Étape 2 : Créer un nouveau fichier Colab

Dans votre nouveau dossier, faites un clic droit avec votre souris puis sélectionnez More > Colaboratory.


Une fois dans le nouveau fichier, vous pouvez le renommer en cliquant sur le nom en haut du document.

Étape 3 : Paramétrage du GPU gratuit (!)

Pour configurer le GPU (processeur graphique), il suffit de cliquer sur Edit > Notebook settings et sélectionner GPU comme accélérateur matériel.

Étape 4 : Exécuter du code Python de base

Nous pouvons dès maintenant commencer à utiliser Colab.

À titre d’exemple, je vais exécuter quelques lignes de code du tutoriel Python Numpy. Numpy est une librairie Python populaire en science des données utilisée pour des calculs mathématiques.

Si vous ne connaissez pas encore Python, c’est le langage de programmation le plus populaire en Intelligence Artificielle. Pour vous initier à Python je vous recommande ce tutoriel simple.

Ça fonctionne comme prévu 🙂! Pour exécuter le code, il suffit de cliquer sur le bouton play à gauche de la ligne de code.

Étape 5 : Votre premier modèle en Deep Learning

Voici un script qui vous permettra d’entraîner votre premier modèle en Deep Learning, vous avez simplement à copier/coller le code suivant et apprécier le travail de la machine.


'''
Train a simple convnet on the MNIST dataset. 
(there is still a lot of margin for parameter tuning).
'''
from __future__ import print_function
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D
from tensorflow.keras import backend as K
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.losses import categorical_crossentropy
from tensorflow.keras.optimizers import Adadelta

batch_size = 128
num_classes = 10
epochs = 12

# input image dimensions
img_rows, img_cols = 28, 28

# the data, split between train and test sets
# if you have an error loading data in your IDE, try the following link:
# https://github.com/tensorflow/tensorflow/issues/33285
(x_train, y_train), (x_test, y_test) = mnist.load_data()

if K.image_data_format() == 'channels_first':
    x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)
    x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
    input_shape = (1, img_rows, img_cols)
else:
    x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
    x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
    input_shape = (img_rows, img_cols, 1)

x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')

# convert class vectors to binary class matrices
y_train = to_categorical(y_train, num_classes)
y_test = to_categorical(y_test, num_classes)

model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3),
                 activation='relu',
                 input_shape=input_shape))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))

model.compile(loss=categorical_crossentropy,
              optimizer=Adadelta(),
              metrics=['accuracy'])

model.fit(x_train, y_train,
          batch_size=batch_size,
          epochs=epochs,
          verbose=1,
          validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])

Si tout se passe bien, voici ce que vous devriez voir :


Si c’est le cas, félicitations, vous venez d’entraîner votre premier modèle en Deep Learning dans Colab sans même vous en rendre compte! Si ce n’est pas le cas, je vous invite à nous écrire dans les commentaires.

Maintenant que vous avez à votre disposition un environnement de développement Python, vous avez l’essentiel pour commencer votre apprentissage du Deep Learning.

Je vous conseille de suivre ce tutoriel complet pour vous aider à télécharger vos ensembles de données dans Colab et cet autre tutoriel pour vous initier aux bases de la science des données grâce à la populaire librairie Scikit-Learn.

Google Colab pour démocratiser l’intelligence artificielle

Finalement, je pense que Colab permet vraiment de démocratiser l’accès à l’Intelligence Artificielle . C’est un outil aussi simple à utiliser que performant. Ses avantages sont très nombreux.

Et que dire de l’accès gratuit à un GPU!

En espérant que cet article vous soit utile, n’hésitez pas à laisser un commentaire ci-dessous.