# DeepSchool.io

### Goals

- Make Deep Learning easier (minimal code).
- Minimise required mathematics.
- Make it practical (runs on laptops).
- Open Source Deep Learning Learning.

### Installation

- Install Docker https://www.docker.com/
- Use the following commands to run from docker
^{1}.

```
git clone https://github.com/sachinruk/deepschool.io.git
cd deepschool.io
bash run.sh
```

- Now go to
`localhost:9000`

on your browser to start using the jupyter notebooks. - (Optional) If you are on a mac/windows some of the examples may not work because the docker image may run out of memory. Hence under preferences in docker there is the option to increase the allocated memory. I have set it to 8GB. Run
`docker-compose up`

again if you reset memory.

See here for installing on windows.

### Contents

- Lesson 0: Introduction to regression.
- Lesson 1: Penalising weights to fit better (scikit learn intro)

#### Mathematics (optional)

- Lesson 2: Gradient Descent. Using basic optimisation methods.
- Lesson 3: Tensorflow intro: zero layer hidden networks (i.e. normal regression).
- Lesson 4: Tensorflow hidden layer introduction.

#### Deep Learning

- Lesson 5: Using Keras to simplify multi layer neural nets.
- Lesson 6: Embeddings to deal with categorical data. (Keras)
- Lesson 7: Word2Vec. Embeddings to visualise words. (Tensorflow)
- Lesson 8: Application - Bike Sharing predictions
- Lesson 9: Choosing Number of Layers and more
- Lesson 10: XGBoost - A quick detour from Deep Learning
- Lesson 11: Convolutional Neural Nets (MNIST dataset)
- Lesson 12: CNNs and BatchNormalisation (CIFAR10 dataset)
- Lesson 13: Transfer Learning (Dogs vs Cats dataset)

#### Advanced Topics

- Lesson 14: LSTMs - Sentiment analysis.
- Lesson 15: LSTMs - Shakespeare.
- Lesson 16: LSTMs - Trump Tweets.
- Lesson 17: Trump - Stacking and Stateful LSTMs.
- Lesson 18: Fake News Classifier

## Support

You can ask questions and join the development discussion:

- On the DeepSchool-io Google group.
**Long detailed questions go here**. - On the DeepSchool-io Slack channel. Use this link to request an invitation to the channel.

## Support Us

There's a few ways you can support this initiative:

- Right now this is very much a self funded project. If you wish to see more and more high quality tutorials and videos support us at: https://www.patreon.com/deepschoolio
- Subscribe to our YouTube channel here.
- Star this repository and share it!

## Meetup

First meetup node: https://www.meetup.com/DeepSchool-io/

## YouTube playlist

Find the corresponding video tutorial here (not all notebooks have an associated video) https://www.youtube.com/playlist?list=PLIx9QCwIhuRS1SPS9LHF7VjvZyM1g2Swz

### Notes

1: Refer to this Dockerfile and this for information on how the docker image was built.