Académique Documents
Professionnel Documents
Culture Documents
Séance de TP 3
Réseaux Convolutifs – GPU et Tensorboard
1- Comparer les temps d’exécution sur CPU et GPU pour l’apprentissage d’un
MLP ayant la meilleure configuration obtenue lors de la séance précédente,
relever le nombre de batch traités par seconde.
Pour cette question,
Pour comparer les temps d'exécution sur CPU et GPU pour l'apprentissage d'un
MLP (Multilayer Perceptron) avec la meilleure configuration obtenue, nous devons
examiner les informations fournies dans les résultats obtenus.
Sur GPU :
Sur CPU :
- Temps d'exécution total pour l'apprentissage : 74 secondes.
- Nombre de batches traités par seconde : 11.39.
Le temps d'exécution sur GPU est nettement plus rapide que sur CPU, avec un
temps total de 29 secondes contre 74 secondes sur CPU.
Le nombre de batches traités par seconde est également beaucoup plus élevé sur
GPU que sur CPU, avec 28.43 batches/seconde sur GPU contre 11.39
batches/seconde sur CPU.
Analyse :
Le temps d'exécution sur le GPU est environ deux fois plus rapide que sur le CPU.
Le nombre de batches traités par seconde sur le GPU est également
significativement plus élevé que sur le CPU, ce qui indique une meilleure efficacité
de traitement par lot sur le GPU.
À partir des résultats fournis, voici ce que nous pouvons conclure sur les
performances du meilleur MLP sur la base de données FashionMNIST :
Ensuite, dans la section "images", nous observons les échantillons d'images du jeu
de données qui ont été utilisés pour l'entraînement.
Ensuite, dans l'onglet "graphs", nous examinons le graphique représentant
l'architecture du modèle, tel que présenté ci-dessous. Les dimensions d'entrée des
dernières couches du modèle sont 64*10.
Pour conclure, dans l'onglet "projector", nous examinons la projection des données
dans la représentation apprise par le modèle. Cette projection affiche les différents
échantillons du jeu de données utilisés pour l'entraînement du modèle, positionnés
dans un espace à trois dimensions. Les échantillons sont regroupés selon leur classe
dans cet espace ; ainsi, les chaussures sont regroupées ensemble, tout comme les
sacs, les pantalons et les autres éléments du jeu de données.
Pour la suite de cette étude, nous allons réexécuter notre notebook, mais cette fois-ci
en utilisant le processeur (CPU) comme environnement d'exécution.
Comme nous l'avions constaté lors du test en GPU précédent, les résultats de
l'apprentissage sont pratiquement inchangés d'un processeur à l'autre. Ce qui reste
crucial à retenir, c'est la rapidité de travail offerte par l'utilisation du GPU.
3- Envisager différentes architectures de réseaux convolutifs pour atteindre les
meilleures performances possibles sur la base Fashion. Restituer les
architectures utilisées les courbes d’apprentissage et les performances grâce
à des exports de TensorBoard.
Pour ce prochain exercice, nous allons expérimenter différentes architectures en
ajustant certains paramètres de notre modèle afin d'améliorer ses performances.
Nous nous baserons sur les expériences précédentes du TP en modifiant les
paramètres qui ont contribué à maximiser l'apprentissage. Plus spécifiquement, nous
ajusterons les tailles de batch, le nombre d'époques et les fonctions d'activation
(Sigmoïde et ReLU). Nous conserverons les paramètres tels que l'algorithme
d'optimisation (ADAM, comme déterminé dans le TP précédent) et le taux
d'apprentissage (optimal selon les résultats du TP précédent), ainsi que
l'environnement d'exécution (GPU, le plus rapide).
Nous avons adapté l'affichage des résultats de notre code pour qu'il puisse présenter
les modifications apportées à chaque nouvelle architecture, ce qui nous fera gagner
du temps lors de nos expérimentations. Nous exporterons également chaque
nouvelle architecture dans TensorBoard.
→ Architecture 1 :
Nombre d'époques = 20
Taille de batch : 128
Taux d'apprentissage = 1e-2
Fonction d'activation : nn.Sigmoid
Algorithme d'optimisation : ADAM
Une note importante à retenir avant de poursuivre : dans la figure ci-dessus, nous
visualisons deux courbes de perte. La première courbe (orange) correspond à celle
déterminée lors de l'exercice précédent. À chaque nouvelle expérience, les courbes
des expériences précédentes sont conservées dans le but de comparer chaque
nouvelle architecture.
→ Architecture 2 :
Nombre d'époques = 60
Taille de batch : 128
Taux d'apprentissage = 1-2
Fonction d'activation : nn.RELU
Algorithme d'optimisation : ADAM