Deep Learning Basics

Topics covered

This course conveys the basics of neural networks, from historical development to current models and software. It introduces listeners to the concept of neural networks with a focus on convolutional neural networks. It introduces the conceptual idea as well as the actual building blocks and shows how to turn those concepts into software. The software used is Python with the, widely used, PyTorch library for the development of neural networks. In addition the course also provides an insight into the data required for training such neural networks, how to structure and present them to the network, how to augmnet them to faciliatate learning and how to properly split the data for training and evalutation of neural networks.

All concepts are presented in a lecture and then implemented in a hands-on workshop.

Course Materials

Please take note of the Prerequisites

Lecture Notes

Exercise Material

Prerequisites

Note that there is a certain amount previous knowledge required to fully take advantage of the course. In addition some software has to be installed prior to the course so time is not wasted during the actual exercises.

Required Previous Knowledge

Required Software

You are going to use your own PC/Laptop for the hands-on workshop, therefore you should prepare your system beforehand the workshop so that we can start in the workshop right away. Follow the instructions given below to prepare your system.

1. Install anaconda:

Download it from here...

2. Get familiar with conda/python environments:

The Definitive Guide to Conda Environments

3. Install jupyter notebook on conda:

Open your terminal and follow the installation instruction below. On Windows best use Anaconda Prompt.

The following website gives you some help and advices: (https://towardsdatascience.com/how-to-set-up-anaconda-and-jupyter-notebook-the-right-way-de3b7623ea4a)

Basecially you need the following instructions to install jupyter notebook (jupyter lab not needed).

    conda install -c conda-forge notebook
    conda install -c conda-forge nb_conda_kernels  

The second command enables the possibility in jupyter notebook to select the environment when creating a new file.

4. Prepare a python environment for the cnn101 course:

    conda create -n cnn101 pip ipykernel

It's recommended installing pip for package installation, and ipykernel will be needed to switch environments using Jupyter Notebook

    conda env list

should give you an ouput like:

    base                  *  /home/joe/anaconda3
    cnn101                   /home/joe/anaconda3/envs/cnn101
    conda install -n cnn101 -c pytorch pytorch torchvision
    conda install -n cnn101 -c conda-forge torchinfo
    conda install -n cnn101 -c conda-forge matplotlib
    jupyter notebook

Note: select under Kernel - Change kernel your cnn101 environemnt!
Run the code snippets and check if it works. If yes your environemnt is prepared for the cnn101 course.

5. Get familiar with jupyter notebook:

6. (Optional) Have a look into Google Colab:

Is not required for the workshop, but on Colab have GPUs available. Also jupyter notebook is integrated in Colab.

Congratualtions, you are prepared for the cnn101 course!