 
# PTC PRACTICAL DEEP LEARNING 2023-05
## **siili.rahtiapp.fi/PDL**
**3.–5.5.2023**
:::danger
:bell: **Notes:**
- The course starts on **Wednesday, May 3, at 9:00** Helsinki Time (EEST, UTC+3)
:::
---
## :busts_in_silhouette: Lecturers:
- Mats Sjöberg: mats.sjoberg@csc.fi
- Markus Koskela: markus.koskela@csc.fi
- Aurélie Vancraeyenest
---
## :ledger: Subpages
- Questions and discussion: https://siili.rahtiapp.fi/PDL-QA
- Day 1 exercise results: https://siili.rahtiapp.fi/PDL-Day1
- Day 2 exercise results: https://siili.rahtiapp.fi/PDL-Day2
- Accounts instructions: https://siili.rahtiapp.fi/PDL-accounts
---
## :link: Links
- Course in Eventilla: https://ssl.eventilla.com/event/8aPek
- Lecture slides: [Google Docs](https://drive.google.com/drive/folders/1Mb1TliGQHfPsfb2-u26V2drNSg7_gT8i?usp=sharing)
- Exercises: https://github.com/csc-training/intro-to-dl/
- CSC Notebooks: https://notebooks.csc.fi/
- Puhti web interface: https://www.puhti.csc.fi/
- CSC docs: https://docs.csc.fi/
- LUMI docs: https://docs.lumi-supercomputer.eu/
---
## :calendar: Program
All times Helsinki summer time, that is EEST (UTC+3).
### Day 1: Notebooks (Wednesday, 3.5.)
| Time | Event |
| ---------- | -------- |
| 9:00-10:30 | Course practicalities; **Lecture 1:** Introduction to deep learning (Markus)
| 10:30-10:45| *Break*
| 10:45-11:00| **Exercise 1:** Introduction to Notebooks, Keras fundamentals
| | Jupyter notebook: 01-tf2-test-setup.ipynb
| 11:00-11:30| **Lecture 2:** Multi-layer perceptron networks (Mats)
| 11:30-12:00| **Exercise 2:** Classification with MLPs
| | Jupyter notebook: 02-tf2-mnist-mlp.ipynb
| | Optional: pytorch-mnist-mlp.ipynb, tf2-chd-mlp.ipynb
| 12:00-13:00| *Lunch*
| 13:00-13:45| **Lecture 3:** Image data, convolutional neural networks (Mats)
| 13:45-14:15| **Exercise 3:** Image classification with CNNs
| | Jupyter notebook: 03-tf2-mnist-cnn.ipynb
| 14:15-14:30| *Break*
| 14:30-15:30| **Lecture 4:** Text data, embeddings, recurrent neural networks and attention models (Markus)
| 15:30-16:00| **Exercise 4:** Text sentiment classification with RNNs
| | Jupyter notebooks: 04-tf2-imdb-rnn.ipynb
| | Optional: tf2-imdb-cnn.ipynb, tf2-mnist-rnn.ipynb
### Day 2: Puhti (Thursday, 4.5.)
| Time | Event |
| ---------- | -------- |
| 9:00-10:00 | **Lecture 5:** GPUs and using supercomputers (Puhti, LUMI) (Mats) |
| 10:00-10:15 | *Break* |
| 10:15-11:15 | **Exercise 5:** Image classification: dogs vs. cats; traffic signs |
| 11:15-12:00 | **Exercise 6:** Generating images with diffusion models |
| 12:00-13:00 | *Lunch* |
| 13:00-14:00 | **Exercise 7:** Text categorization: 20 newsgroups |
| 14:00-14:30 | **Exercise 8:** Text generation: IMDb |
| 14:30-14:45 | *Break* |
| 14:45-15:30 | **Lecture 6:** Using multiple GPUs (Markus) |
| 15:30-16:00 | **Exercise 9:** Using multiple GPUs |
### Day 3: LUMI/AMD (Friday, 5.5.)
- Using LUMI and AMD hardware for deep learning