Distributed Computing
ETH Zurich

Hands-On Deep Learning (HS 2023)

This lab introduces deep learning through the PyTorch framework in a series of hands-on exercises, exploring topics in computer vision, natural language processing, audio processing, graph neural networks, and representation learning.

In this lab, you will learn common as well as cutting-edge neural architectures. You will learn about various network structures as building blocks, and how to use them to solve introductory examples and course challenges. After attending this course, you will be familiar with multi-layer perceptrons, convolutional neural networks, recurrent neural networks, transformer encoders, graph convolutional/isomorphism/attention networks, and autoencoders.

Prerequisites This course has two prerequsites: (1) Students must have some familiarity with the ideas behind deep learning. Any course that teaches the fundamentals of deep learning, e.g. Computational Thinking (Chapters 5 and 6), is sufficient, and so is an adequate amount of self-study. (2) Students must know an imperative programming language, e.g., C, C++, Java, Javascript, or Python. The course uses Python as a programming language, so we expect students to know the basics of Python (e.g., lists, control structures, functions). Concretely, understanding the concepts of this Python Cheat Sheet is necessary (but also sufficient) to attend the course.

Registration Link

Head TA Benjamin Estermann

Sessions In each session, students work independently or in small groups, following a Python notebook, to explore various aspects of the topic of the given session. The step-by-step exercises are designed with intuition-building in mind. There are going to be TAs present at every session, answering students' questions and providing guidance where necessary.

Hardware Bring your preferred coding device. Some devices will also be available in the room.

Attendance Attendance is mandatory. Unexcused absences will result in failing the lab. If you have a good excuse why you cannot attend a session (e.g., doctor's note, military service), send an email to Susann Arreghini.

Submission After each session you must submit proof of your work in order to get the credits. You must submit the filled-out notebook at most one week after each session. The submission deadline is midnight of the corresponding Tuesday. Submission instructions are sent by email.

Challenge Winners The top 3 submissions for each challenge receive a small reward. Winners will be contacted directly.

Time Tuesday, starting at 8:15. Please be on time and sign in, or your attendance will not be counted. The session lasts until noon. If you would like to leave early, you must show your completed notebook (including challenge) to a TA. If you leave early without having your notebook checked by a TA, your attendance will not be counted.

Place ETZ D96.1

Language English

Passing Requirements To pass the lab, you need to have 6 session points. A session gives a point if you attend the session and submit the session notebook one week after. If you cannot attend a session (with an excuse, see above), submitting the notebook is enough. We will inform you about your points after the first 6 sessions. It may happen that you will miss a point, but you have at least 4 points. In this case we offer an Additional Challenge at the end. In this Additional Challenge you can get up to 2 points.

Session Schedule

Lab Date Material Colab TA Session TAs
Introduction to Deep Learning September 26 Colab Notebook Peter Belcák Peter Belcák, Pyrros Koussios
Perceptive Computer Vision October 10 Colab Notebook Peter Belcák Till Aczél, Pyrros Koussios, Entiol Liko
Audio Processing October 24 Colab Notebook Luca Lanzendörfer Luca Lanzendörfer, Pyrros Koussios, Entiol Liko
Graph Neural Networks November 7 Colab Notebook Joël Mathys Joël Mathys, Pyrros Koussios, Entiol Liko
Generative Computer Vision November 21 Colab Notebook Benjamin Estermann Benjamin Estermann, Pyrros Koussios, Entiol Liko
Natural Language Processing December 5 - Florian Grötschla Florian Grötschla, Pyrros Koussios, Entiol Liko
Additional Challenge Until December 19 - Benjamin Estermann Not mandatory, no physical session