This is the page for the afternoon practical sessions of the Large Scale Machine Learning course of Mines ParisTech.

The practical sessions will take place in rooms L117-L119-L120 at Mines ParisTech, every afternoon of the week from 2pm to 5:30pm. For those of you who take the class for credit, the RAMP challenge will contribute to your grade.


March 26, 2018 (14:00 – 17:30) Machine learning with Python: Introduction to numpy, scipy, matplotlib, seaborn, pandas, scikit-learn, and Jupyter notebooks.

To get started, clone, fork or download the labs github repository. You do not need to understand what git and github are for this course; nevertheless you'll find more information below.

March 27, 2018

March 28, 2018

  • 14:00 – 15:30 Deep learning with Python/Keras
  • 15:30 – 17:30 RAMP

March 29, 2018

  • 14:00 – 15:30 Convex optimization with Python
  • 15:30 – 17:30 RAMP

March 30, 2018

  • 14:00 – 15:30 Exam in L108
  • 15:30 – 17:30 RAMP

Personal installation

If you want to do the labs on your own machine, you will need to have Python and all the relevant packages installed. The easiest way to install all the requirements is to install Anaconda. You can test your installation by downloading one or several of the SciPy 2016 notebooks, starting Anaconda then Jupyter, open the notebook(s) and run them. If you prefer, you can also install only the required packages (numpy, scipy, matplotlib, seaborn, scikit-learn, pandas, jupyter) with pip if you already have Python.


GitHub is a web-based repository hosting services, allowing for version control and source code management. GitHub is based on the git version control system. A version control system allows you to manage automatically different versions and draft of a document; in essence, it is the grownup version of lab1_final_v2.2_chloe-copy-1.ipynb. You can read more about the benefits of version control here. Git (and GitHub) are widely used in tech nowadays.

GitHub offers both private and public repositories, and supports free accounts for academics. Here is a short tutorial of how to use GitHub to version control your own copy of the labs:

  • Log onto GitHub (start by signing up if you do not have an account)
  • Create a fork of the lsml2018 repository. A fork is a copy you own and can experiment with without changing the project. To do so: navigate to and click "Fork" in the upper right corner.
  • Download and install git if it is not installed on your computer. To do so, follow the official instructions. If you do not know whether Git is installed on your computer, try typing git in a terminal. If it returns a help message, then git is installed. If you'd rather use a graphical interface (a GUI) than the command line, have a look here.
  • Set up git, following these instructions
  • Clone your fork. This means you’ll get a local version on your computer (for now your fork only exists on GitHub’s servers):
    • On the GitHub website, navigate to your fork of the lsml2018 repository. Its URL should be something like<yourusername>/lsml2018.
    • Click "Clone or download" (on the top right)
    • Copy the URL that was just displayed (should be something like<yourusername>/ma2823_2017.git)
    • In the terminal (I’m assuming Linux/MacOS), navigate to where you want your copy to be. For example, if you want it under Desktop > Courses > 2018, type cd Desktop/Courses/2018.
    • Then type git clone <the URL you just copied>. You should see a message telling you the repository is downloading.

For more on creating forks, see here.

  • On your computer, edit the file you want to make changes to (for example, the first notebook).
  • Push your changes (i.e. send them from your computer to your GitHub account). To do this, from your lsml2018 repository, do:
git add <name of the file you edited>
git commit -m "<Short message explaining your modification>"
git push origin master