Cours
- Slides du cours : http://www-connex.lip6.fr/~gallinar/gallinari/uploads/Teaching/2020-2021-AMAL-Deep-Learning-Gallinari.pdf
TME
- Doc PyTorch
- Avant chaque TME, penser à exécuter pip install -r http://webia.lip6.fr/~bpiwowar/requirements-amal.txt afin de profiter de l’environnement avec tous les modules installés.
- Sur les machines de la ppti, l’environnement peut être activé en exécutant : source /users/nfs/Enseignants/piwowarski/venv/3.7/amal/bin/activate
- Deux salles de la ppti sont équipées de bons GPUs : la 502 et la 407. Pour se connecter, en ssh en passant par la passerelle ssh.ufr-info-p6.jussieu.fr, puis ppti-14-502-XX (XX=01 à 16) ou ppti-14-407-XX.
- Vous pouvez lancer un jupyter lab a distance sur ces machines : il faut pour cela rajouter dans votre .ssh/config (sous linux)
Host ppti User votre_login Hostname ssh.ufr-info-p6.jussieu.fr Host *.ppti User votre_login ProxyCommand ssh ppti -W $(basename %h .ppti):%p
Puis faire ssh -L8888:localhost:8888 ppti-14-502-XX.ppti et lancer jupyter lab sur la machine distance. En local, vous utilisez l’adresse habituelle de jupyter, http://localhost:8888.
En plus du /tmp, vous avez également un répertoire /tempory qui est semi-permanent (n’est pas nettoyé à chaque reboot, mais plus rarement) de plus de 300Go, dans lequel vous pouvez travailler quand vous avez besoin de place.
Semaine 1
Objectifs : prise en main de pytorch, implémentation d’une fonction au sens de pytorch, descente de gradient, dérivation chaînée.
Semaine 2
Objectifs : Autograd, Modules.
Installer datamaestro et datamaestro-ml pour avoir facilement accès aux jeux de données des TMEs.
Semaine 3
Objectifs : Modules (fin), tensorboard, GPU, checkpointing, Dataset, Dataloader
Mettre à jour datamaestro et installer datamaestro-image pour avoir MNIST.
Semaine 4
Objectifs : Réseaux récurrents, classification de séquences, forecasting, génération de texte, softmax, cross entropie et embeddings (intro).
Semaine 5
Objectifs : LSTM et GRU, padding, batch de séquences de tailles variables, beam-search
Semaine 6
Objectifs : LSTM et GRU pytorch, Seq2Seq, Curriculum learning et Byte-Pair Encoding
Semaine 7
Objectifs : CNN et classification de sentiments
Semaine 8
Objectifs : protocole expérimentale, régularisation L1, L2 , dropout, batchnorm, layernorm
Semaine 9
Objectifs : Attention globale
Semaine 10
Objectifs : self-attention, transformer
Semaine 11
Objectifs : programmation GPU (optionnel)