Introduction to Deep Learning

Netherlands eScience Center

Online

January 25 - 27, 2022

9:00 - 13:00 CET

Instructors: Sven van der Burg, Djura Smits

Helpers: Cunliang Geng, Robin Richardson

Some adblockers block the registration window. If you do not see the registration box below, please check your adblocker settings.

General Information

The Digital Skills programme at the Netherlands eScience Center focuses on the foundational digital skills needed to put reproducible research into practice. The workshops we run cover the essentials of version control, online collaboration, reproducible code and good programming practices.

This is an hands-on introduction to the first steps in Deep Learning, intended for researchers who are familiar with (non-deep) Machine Learning.

The use of Deep Learning has seen a sharp increase of popularity and applicability over the last decade. While Deep Learning can be a useful tool for researchers from a wide range of domains, taking the first steps in the world of Deep Learning can be somewhat intimidating. This introduction aims to cover the basics of Deep Learning in a practical and hands-on manner, so that upon completion, you will be able to train your first neural network and understand what next steps to take to improve the model.

We start with explaining the basic concepts of neural networks, and then go through the different steps of a Deep Learning workflow. Learners will learn how to prepare data for deep learning, how to implement a basic Deep Learning model in Python with Keras, how to monitor and troubleshoot the training process and how to implement different layer types such as convolutional layers.

Who: 

The course is aimed at graduate students and other researchers.

Learners are expected to have the following knowledge:

  • Basic Python programming skills and familiarity with the Pandas package.
  • Basic knowledge on Machine learning, including the following concepts: Data cleaning, train & test split, type of problems (regression, classification), overfitting & underfitting, metrics (accuracy, recall, etc.).

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: January 25 - 27, 2022.

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Contact: Please email or training@esciencecenter.nl for more information.


Code of Conduct

Participants are expected to follow those guidelines:

Syllabus

Schedule

Day 1

Day 2

Day 3


Setup

To participate in this workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Install the videoconferencing client

If you haven't used Zoom before, go to the official website to download and install the Zoom client for your computer.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.

Installing Python Using Anaconda

Python is a popular language for scientific computing, and a frequent choice for machine learning as well. Installing all of its scientific packages individually can be a bit difficult, however, so we recommend the installer Anaconda which includes most (but not all) of the software you will need.

Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.4 is fine). Also, please set up your python environment at least a day in advance of the workshop. If you encounter problems with the installation procedure, ask your workshop organizers via e-mail for assistance so you are ready to go as soon as the workshop begins.

Windows - Video tutorial

  1. Open http://continuum.io/downloads with your web browser.

  2. Download the Python 3 installer for Windows.

  3. Double-click the executable and install Python 3 using MOST of the default settings. The only exception is to check the Make Anaconda the default Python option.

Mac OS X - Video tutorial

  1. Open http://continuum.io/downloads with your web browser.

  2. Download the Python 3 installer for OS X.

  3. Install Python 3 using all of the defaults for installation.

Linux

Note that the following installation steps require you to work from the shell. If you run into any difficulties, please request help before the workshop begins.

  1. Open http://continuum.io/downloads with your web browser.

  2. Download the Python 3 installer for Linux.

  3. Install Python 3 using all of the defaults for installation.

    a. Open a terminal window.

    b. Navigate to the folder where you downloaded the installer

    c. Type

    $ bash Anaconda3-
    

    and press tab. The name of the file you just downloaded should appear.

    d. Press enter.

    e. Follow the text-only prompts. When the license agreement appears (a colon will be present at the bottom of the screen) hold the down arrow until the bottom of the text. Type yes and press enter to approve the license. Press enter again to approve the default location for the files. Type yes and press enter to prepend Anaconda to your PATH (this makes the Anaconda distribution the default Python).

conda version

If you already have anaconda installed at your computer, make sure you have an up-to-date version of conda running. See these instructions for updating conda.

Installing the required packages

Open a terminal and type the command (note that installing tensorflow causes keras to be installed too):

$ conda install "tensorflow>=2.5" seaborn "scikit-learn>=0.22" pandas

Starting a Jupyter Notebook

We will teach using Python in a Jupyter notebook, a programming environment that runs in a web browser. Jupyter requires a reasonably up-to-date browser, preferably a current version of Chrome, Safari, or Firefox (note that Internet Explorer version 9 and below are not supported). If you installed Python using Anaconda, Jupyter should already be on your system. If you did not use Anaconda, use the Python package manager pip (see the Jupyter website for details.)

To start the notebook, open a terminal or git bash and type the command:

$ jupyter notebook

To start the Python interpreter without the notebook, open a terminal or git bash and type the command:

$ python

Check your setup

To check whether all packages installed correctly, start a jupyter notebook as explained above. Run the following lines of code:

import sklearn
print('sklearn version: ', sklearn.__version__)

import seaborn
print('seaborn version: ', seaborn.__version__)

import pandas
print('pandas version: ', pandas.__version__)

from tensorflow import keras
print('Keras version: ', keras.__version__)

This should output the versions of all required packages without giving errors. Most versions will work fine with this lesson, but for Keras, the minimum version is 2.2.4, and for sklearn the minimum version is 0.22.

Fallback option: cloud environment

If a local installation does not work for you, it is also possible to run this lesson in Google colab. If you open a notebook here, the required packages are already pre-installed.

Downloading the required datasets

Download the weather dataset prediction csv and BBQ labels.