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
-
[Solutions]
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
- Python: This course uses Python during the exercises.
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:
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:
- create a new environment (example name cnn101):
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
- check for the new environment:
conda env list
should give you an ouput like:
base * /home/joe/anaconda3
cnn101 /home/joe/anaconda3/envs/cnn101
- install pytorch
conda install -n cnn101 -c pytorch pytorch torchvision
- install torchinfo
conda install -n cnn101 -c conda-forge torchinfo
- install matplotlib
conda install -n cnn101 -c conda-forge matplotlib
-
install Tensorboard and Scikit-learn
-
open the jupyter notebook file
cnn101_0_test.ipynb
(download it from here) and run it. Start jupyter notebook in your base environment.
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!