Machine learning workshop
We are hosting a machine learning workshop at the IAP on the 29th March 2018. This is aimed at beginners and those who want to know how to program neural networks. The workshop should bring people up-to-date with various machine learning techniques, with an emphasis on deep learning. Thomas Keck (currently at KIT) will provide the teaching throughout the day, with a few of us to help during the workshop. Thomas has been working on machine learning techniques for the Belle II experiment for several years and has previously held workshops teaching machine learning at the CERN computing summer school and at KIT. The program is
9:00 Introduction to machine learning
10:30 Coffee
11:00 Introduction to deep learning
12:00 Lunch
14:00 Hands-on workshop
15:15 Coffee
15:45 Hands-on workshop (continued)
The first session will focus on techniques such as boosted decision trees, support vector machines and linear models for multivariate classification. The next part progresses through deep learning basics such as feed forward neural networks and back propagation and developing the ideas of special architectures such as recurrent and convolutional neural networks. The workshop will allow people to develop these techniques and learn the languages which are most useful for deep learning and even for general GPU work (noteably TensorFlow).

The machine learning workshop has been funded by the Labex ILP grant ANR-10-LABX-63 of Florian Führer which has provided us the opportunity to be privilage to this excellent resource and for which we are extremely grateful. We have very kindly been funded for two coffee breaks by Labex ILP under the project "Deep Learning" - details of the event are available at

We are also lucky enough to be registered as a summer/winter school under the Ecole Doctorale, and as such the hours undertaken at the workshop can be used as part of the 30 required hours with the formation doctoral. See here for more information.

The slides and workshop materials can be found at
The workshop will be limited to 40 people (the size of the room) and so places will be awarded on a first-come first-serve basis, with late applications being placed on a waiting list. We request that any attendees take part in the entire day since the lectures in the morning will be used in the afternoon sessions.

The workshop will take place on the 29th of March 2018 between 9:00 and 17:00 in salle des séminaires at the Institut d'Astrophysique de Paris. It will be essential that you bring your own laptop.

Necessary software

Some software will be necessary for the hands-on section of the workshop. At least python-3.5.3 is needed. If your system version is not adequate or you want to use a completely sandboxed version of python (I would recommend) then the easiest thing to do is to install pyenv to control python versions. It is very simple to use and can be installed using

$ git clone ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
$ exec "$SHELL"
$ pyenv install anaconda3-5.0.1
$ pyenv global anaconda3-5.0.1

(use pyenv global system to return to your system python). Of course you can use virtualenv instead if you prefer via

$ virtualenv virtual_environment_name
$ source virtual_environment_name/bin/activate

The required python packages can then be installed using

$ pip install tensorflow==1.5.0
$ pip install keras==2.1.3
$ pip install scipy==1.0.0
$ pip install matplotlib==2.1.2
$ pip install jupyter==1.0.0
$ pip install numpy==1.14.0
$ pip install pandas==0.22.0
$ pip install sympy==1.1.1
$ pip install h5py==2.7.1
$ pip install wikipedia==1.4.0
$ pip install --upgrade dask
$ pip install graphviz==0.8.2
$ conda install graphviz

graphviz can also be installed using apt-get or brew on Ubuntu or Mac operating systems.

You will also need certain jupyter notebooks which are available on Thomas' github. The easiest thing to do is to cd to the directory where you want to work from and then do

$ git clone
$ cd
$ jupyter notebook

This will open up your web browser with a jupyter notebook. Click on mnist_download.ipynb and click on the cell which says

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

and press shift and enter. This will download the MNIST data set which will be needed during the workshop.

Organising committee
Tom Charnock
Florian Führer
Anne Zilles
For any more information email me at