Practical Deep Learning

This course gives a practical introduction to deep learning, convolutional and recurrent neural networks, diffusion models and transformer models, GPU computing, and tools to train and apply deep neural networks for natural language processing, images, and other applications.

The course consists of lectures and hands-on exercises. TensorFlow, Keras, and PyTorch will be used in the exercise sessions. CSC’s Notebooks environment (https://notebooks.csc.fi/) will be used on the first day of the course, and the GPU-accelerated LUMI or Puhti supercomputers on the second day. Day 3 is about deep learning on LUMI and on AMD platforms in general. Day 3 will be lectured remotely by AMD.

The course will be held in hybrid mode, so both online and on-site participation are possible. Lunch and coffee is included for on-site participants.

Learning outcome

After the course the participants should have the skills and knowledge needed to begin applying deep learning for different tasks and utilizing the GPU resources available at CSC for training and deploying their own neural networks.


The participants are assumed to have working knowledge of Python and suitable background in data analysis, machine learning, or a related field. Previous experience in deep learning is not required, but the fundamentals of machine learning are not covered on this course. Basic knowledge of a Linux/Unix environment will be assumed.

Tentative agenda

Day 1, Wednesday 3.5., 9:00-16:00

– Introduction to deep learning and to Notebooks
– Multi-layer perceptrons
– Image data and convolutional neural networks
– Text data and recurrent and transformers neural networks

Day 2, Thursday 4.5., 9:00-16:00

– Deep learning frameworks, GPUs, batch jobs
– Image classification exercises
– Generating images with diffusion models
– Attention and text categorization exercises
– Cloud, using multiple GPUs

Day 3, Friday 5.5. (by AMD)
– Using LUMI and AMD hardware for deep learning