• Aucun résultat trouvé

IFT 780 : Devoir 2 Travail par équipe de 2 ou de 3

N/A
N/A
Protected

Academic year: 2022

Partager "IFT 780 : Devoir 2 Travail par équipe de 2 ou de 3"

Copied!
1
0
0

Texte intégral

(1)

IFT 780 : Devoir 2

Travail par équipe de 2 ou de 3

Dans ce devoir, vous devez implanter des architectures de réseaux de neurones à convolution, le dropout et vous familiariser avec la batch norm.

Comme pour le devoir précédent, vous devez vous créer un environnement virtuel python suivant les recommandations sur la page web du cours. Vous devez ensuite exécuter les lignes de commande le script suivantes

$ cd datasets/

$ ./get_datasets.sh

$ cd ../utils/cython/

$ ./build_cython.sh

afin de télécharger la base de données CIFAR10 et de compiler le code cython. Par la suite, les fichiers ipynb vous indiqueront les tâches à effectuer. Vous trouverez le code à rédiger dans les fichiers python (.py) aux endroits indiqués par des TODO. Vous trouverez également des questions à répondre dans chacun des fichiers ipynb. Les réponses aux questions doivent être dans les fichiers ipynb et en format markdown (voir https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet pour plus de détails sur le standard markdown).

Les objectifs de ce devoir sont

1) Comprendre les opérations dropout et batchnorm.

2) Comprendre les opérations de convolution et de max pooling (propagation avant et rétro- propagation). À noter que coder la rétro-propagation dans tp2_cnn.ipynb est optionnel et donne droit à un bonus de 10% (soit 1/10). NOTE : comme vous le verrez, 3 versions de la fonction de convolution sera fournie. Vous devez coder une version « naïve » de votre cru. Donc INTERDIT de simplement recopier le code de la convolution « matricée » et de la convolution « cythonisée ». Et … gare au plagiat!

3) Comprendre le fonctionnement d’un réseau à convolution ainsi que l’interaction entre ses couches.

À faire :

1. [2 points] Implanter et tester dropout (voir notebook tp2_dropout.ipynb).

2. [0 points] Comprendre la batch-norm (voir notebook tp2_batch_norm.ipynb).

3. [3 points] Comprendre l’opération de convolution (voir notebook tp2_convolution.ipynb).

4. [5 points] Implanter et tester un réseau à convolution (voir notebook tp2_cnn.ipynb).

[1 point bonus] Implanter la rétro-propagation de la convolution « naive ».

Références

Documents relatifs

[r]

Les propriétés 1 et 2 sont claires, compte tenu de la définition de l’addition de deux matrices et de la définition de la multiplication d’une matrice par un scalaire.. prise de

Sachant que la dur´ee d’ex´ecution de chaque tˆ ache est de p j heures, formuler un programme en nombres entiers permettant de minimiser la somme pond´ er´ ee des instants de

Plus pr´ecis´ement, d’apr`es des sondages, le pourcentage de votes que le d´eput´e obtiendra dans une ville est proportionnel `a la distance s´eparant la centrale de la ville

[0 points] Voyez comment créer un simple réseau de neurones multicouches, comment effectuer une propagation avant, une propagation arrière, effectuer une descente de gradient

En principe, cela devrait améliorer légèrement les performances des modèles. Pour la remise, en plus du code, vous devez remettre un fichier TP3.pdf dans lequel vous précisez

At the click of a button, or the type of a command, you can rerun the code in an R Markdown file to reproduce your work and export the results as a finished report..

This paper proposes Generalized Architectural Decision Records, where knowledge of concrete decisions is stored in a general format to capture “templates” for new decisions