Special Course in Information Technology

University of Oulu

Special Course in Information Technology

                              Deep Learning

Course Description

This course provides an elementary hands-on introduction to deep learning. Students taking this course will learn the theories, models, algorithms, implementation and recent progress of deep learning, and obtain empirical experience on training deep neural networks. Topics covered will include linear classifiers, multilayer neural networks, backpropagation, and stochastic gradient descent, convolutional neural networks, recurrent neural networks, and generative adversarial networks. Applications of deep learning to typical computer vision problems such as object detection and segmentation will also be included. Coursework will consist of programming assignments in TensorFlow. After this course, students will learn to implement, train and debug their own neural networks.



Dr. Li Liu (Li.Liu@oulu.fi)

Dr. Jie Chen (Jie.Chen@oulu.fi)

Teaching Assistants:

Lam Huynh (Lam.Huynh@oulu.fi)

Zhuo Su (Zhuo.Su@oulu.fi)


Proficiency in Python

All class assignments will use the TensorFlow framework (we provide a class for TensorFlow introduction here for those who aren’t as familiar with TensorFlow). If you have a lot of programming experience but in a different language (such as C, C++, and Matlab) you will probably be fine.

You should be comfortable taking derivatives and understanding matrix-vector operations and notations.

Basic Probability and Statistics, Linear Algebra.

You should know basics of probabilities, Gaussian distributions, mean, standard deviation, etc.

If you have knowledge of Machine Learning course and digital image processing course, it will help you a lot in taking this course.

We will be formulating cost functions, taking derivatives and performing optimization with gradient descent.

We will be using recognition examples in computer vision.

Course Discussions

If you have problems after class, you could send emails to Lam Huynh (Lam.Huynh@oulu.fi) or Zhuo Su (Zhuo.Su@oulu.fi) or go to TS333 on Wednesday afternoon.

Assignment Details

All students must complete all assignments during the course. More detailed instruction can be found from "Assignments" subpage (on the left).

Course Project Details

In addition to the assignments, all students must complete a project work during the course. More detailed instructions can be found from "Project" subpage.

Course Project Details: https://noppa.oulu.fi/noppa/kurssi/521149s/project

Grading Policy

Assignment #1: 15%

Assignment #2: 10%

Assignment #3: 10%

Assignment #4: 10%

Assignment #5: 15%

Final Project: 40%


Note: There is only one exercise. As there are too many students, we divide our students into THREE groups.

Registration is needed in the WebOodi if you want to take the exercise (not necessary but helpful). Please carefully select (or re-select) a group to ensure they are approximately in the same number of registrations. Thanks very much.  

The date of group exercises in slides of lecture 1 is just a reference, please follow the times in the Weboodi, also listed below. If you have problems, you can email us.

1. Introduction to Tensorflow (Laboratory exercise) 

Materials can be found in Exercises.

Group1: 08.11.18 Thu 10.15-12.00 TS137

Group2: 07.11.18 Wed 14.15-16.00 TS137

Group3: 09.11.18 Fri 10.15-12.00 TS137 




Q1. Will this course be continued in 2019?

Yes. This course will be given in autumn 2019.

Q2. Can I audit or sit in?

In general, we are very open to sitting-in guests if you are a member of the University of Oulu (registered student, staff, and/or faculty). Right now the number of registered students is 80, which is much more than expected. Out of courtesy, we would appreciate that you email Lam Huynh (Lam.Huynh@oulu.fi) or Zhuo Su (Zhuo.Su@oulu.fi) after the first class you attend, to finally make up your mind if you will take the course or not. This is important for us to make arrangements. If the class is too full and we’re running out of space, we would ask that you please allow registered students to attend.

Q3. I have a question about the class. What is the best way to reach the course staff?

Please contact the teaching assistants first by email, or you can also go to room TS333 on Wednesday afternoon.

Q4. How can I find a platform for the final project using TensorFlow?

The easiest way (if you have Oulu/CSC account) is using the CSC Jupyter Notebook service that includes also TensorFlow, slim, keras, pandas, numpy, scipy... The service can be found from https://notebooks.csc.fi/ and you can log in with your university account. The right environment is Jupyter Machine Learning, which is already installed Tensorflow for you. Another alternative is Google Colab. These are good for the students to complete the assignments and the final project.

Q5. How can I install TensorFlow on my computer or university server using my own account?

There are several ways, and, Anaconda is one of the package management that you are looking for.

First, download and install anaconda (python 3 is recommended). Note: If the downloaded installation script doesn't have execution permission, change it using

“chmod +x Anaconda<python_version><OS><bits_version>.sh”

Then, create an anaconda environment

“conda create --name tensorflow python=3.6”

Take a look at this useful conda cheat sheet for more commands.

Next, activate the conda environment:

“source activate tensorflow” (Linux / Mac OS)

or “activate tensorflow” (Windows) 

Then, installing the python packages that will be use in this course

"conda install -c conda-forge keras pandas pillow"

Finally, checking that tensorflow and other packages have properly installed.

Q6. Is it possible for me to miss some / all the lectures?

Yes, you can take the course by self-study. If you want the credit, you need to register on Weboodi and return all assignments as well as the final project.

In coming events


University of Oulu oulun.yliopisto(at)oulu.fi
Tel. +358 294 48 0000
Fax +358 8 553 4112
PL 8000
FI-90014 Oulun yliopisto