Cours
- Slides du cours : http://www-connex.lip6.fr/~gallinar/gallinari/uploads/Teaching/2021-2022-AMAL-Deep-Learning-Gallinari.pdf
TD
- TD 1 : énoncé
TME
- Doc PyTorch
- Avant chaque TME, penser à exécuter pip install -r http://webia.lip6.fr/~baskiotisn/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/baskiotis/venv/3.7/amal/bin/activate
- Trois salles de la ppti sont équipées de bons GPUs (RTX 2080) : la 502, la 509 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
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 : TD
Semaine 8
Objectifs : protocole expérimentale, régularisation L1, L2 , dropout, batchnorm, layernorm, lightning, optuna
Semaine 9
Objectifs : CNN et classification de sentiments
Semaine 10
Objectifs : Attention globale
Semaine 11
Objectifs : self-attention, Positional Embeddings, transformers
Semaine 12 :
TD
Semaine 13
Objectifs : Apprentissage de réprésentation pour les graphes, Node2vec, GNN