Home

Awesome

Projects

Binder

These are specific bite-sized projects to learn an aspect of deep learning, starting from scratch. There is an associated video around 10 minutes long. I assume no background in ML but some proficiency in python. The projects are in order from beginner to more advanced, but feel free to skip around.

ProjectStarter CodeVideo
Build a simple image classifier for apparelprojects/1-fashion-mnistBuild your first machine learning model
Improve your image classifierprojects/2-fashion-mnist-mlpMulti-Layer Perceptrons
Build a convolutional image classifierprojects/3-fashion-mnist-cnnConvolutional Neural Networks
Build a denoising autoencoderprojects/4-fashion-autoencoderAutoencoders
Build a text classifier with Scikit-Learnprojects/5-sentiment-analysisSentiment Analysis
Predict the weather with an RNNprojects/6-rnn-timeseriesRecurrent Neural Networks
Build a text generatorprojects/7-text-generationText Generation using LSTMs and GRUs
Build a sentiment classifier on Amazon reviews.projects/8-text-classificationText Classification using CNNs
Hybrid LSTM/CNNs
Seq2seq Models
Transfer Learning
One Shot Learning
Speech Recognition
Data Augmentation
Batch Size and Learning Rate

More Projects: Benchmarks

If you have done all of the tutorial projects, we have a few more that don't have associated lessons yet! You can learn by contributing to one of our collaborative Benchmarks.

ProjectLink
Japanese handwriting recognitionhttps://app.wandb.ai/wandb/kmnist/benchmark
Video prediction with cat GIFshttps://app.wandb.ai/wandb/catz/benchmark
Drought detection from satellitehttps://app.wandb.ai/wandb/droughtwatch/benchmark
Visual game playinghttps://app.wandb.ai/wandb/witness/benchmark
Image resolution enhancementhttps://app.wandb.ai/wandb/superres/benchmark
Photo colorizationhttps://app.wandb.ai/wandb/colorizer-applied-dl/benchmark

Getting Started

  1. Clone this repository
  2. Get the python libraries (run 'pip install -r requirements.txt')

You don't need a fancy computer to run most of the examples, but especially to do the later projects you may want to invest in a GPU.

Slides

O'Reilly 9.10.2019 - Using Keras to classify text using LSTMs

Videos

Introduction to Machine Learning

Examples

In my in-person classes, I typically use a lot of the examples in the directory examples. This code is liable to change as I update things.

Reusing the materials

Please feel free to use these materials for your own classes/projects etc. If you do that, I would love it if you sent me a message and let me know what you're up to.

Windows

Git

Install git if you don't have it: https://git-scm.com/download/win

Anaconda

Install anaconda

Try running the following from the command prompt:

python --version

You should see something like

Python 3.6.1 :: Anaconda 4.4.0 (64-bit)

If don't see "Anaconda" in the output, search for "anaconda prompt" from the start menu and enter your command prompt this way. It's also best to use a virtual environment to keep your packages silo'ed. Do so with:

conda create -n ml-class python=3.6
activate ml-class

Whenever you start a new terminal, you will need to call activate ml-class.

Clone this github repository

git clone https://github.com/lukas/ml-class.git
cd ml-class

libraries

pip install wandb
conda install -c conda-forge scikit-learn
conda install -c conda-forge tensorflow
conda install -c conda-forge keras

Linux and Mac OS X

Install python

You can download python from https://www.python.org/downloads/. There are more detailed instructions for windows installation at https://www.howtogeek.com/197947/how-to-install-python-on-windows/.

The material should work with python 2 or 3. On Windows, you need to install the 64 bit version of python 3.5 or 3.6 in order to install tensorflow.

Clone this github repository

git clone https://github.com/lukas/ml-class.git
cd ml-class

If you get an error message here, most likely you don't have git installed. Go to https://www.atlassian.com/git/tutorials/install-git for instructions on installing git.

Install necessary pip libraries

pip install -r requirements.txt

Reading material for people who haven't done a lot of programming

If you are uncomfortable opening up a terminal, I strongly recommend doing a quick tutorial before you take this class. Setting up your machine can be painful but once you're setup you can get a ton out of the class. I recommend getting started ahead of time.

If you're on Windows I recommend checking out http://thepythonguru.com/.

If you're on a Mac check out http://www.macworld.co.uk/how-to/mac/coding-with-python-on-mac-3635912/

If you're on linux, you're probably already reasonably well setup :).

If you run into trouble, the book Learn Python the Hard Way has installation steps in great detail: https://learnpythonthehardway.org/book/ex0.html. It also has a refresher on using a terminal in the appendix.

Reading material for people who are comfortable with programming, but haven't done a lot of python

If you are comfortable opening up a terminal but want a python intro/refresher check out https://www.learnpython.org/ for a really nice introduction to Python.

Suggestions for people who have done a lot of programming in python

A lot of people like to follow along with ipython or jupyter notebooks and I think that's great! It makes data exploration easier. I also really appreciate pull requests to make the code clearer.

If you've never used pandas or numpy - they are great tools and I use them heavily in my work and for this class. I assume no knlowedge of pandas and numpy but you may want to do some learning on your own. You can get a quick overview of pandas at http://pandas.pydata.org/pandas-docs/stable/10min.html. There is a great overview of numpy at https://docs.scipy.org/doc/numpy/user/quickstart.html.