layout | title |
---|---|
inner |
Week 08 |
This week we start looking into Convolutional Neural Networks (ConvNets or CNN). We will work with Keras and/or ML5js. Example with Wekinators and tfjs can be provided during next week session.
Time | Desc |
---|---|
20 mins | General / feedback / discuss |
20 mins | Intro to CNN |
20 mins | Notebooks |
10 mins | Break |
40 mins | Notebooks |
- 📺 Intro to CNN
- Complete the notebooks for week 08 in
/samples
folder.
Notebooks are taken from the book Deep Learning with Python, (please refer to the link shared on Slack). You should be able to run most of the examples with your local instances of TF / Keras running on the CPU. At the meantime I will try to setup some machine on Paperspace so that you can use their GPU for training 😜 I'll share the link with you on Slack if / when this is done.
Convnets are a cornerstone of Deeplearning and you are going to learn a few very useful techniques this week. Namely: 'data augmentation' and 'feature extraction' for 'transfer learning' .
Read the first 2 articles in Going Further, and complete the notebooks for week 08 in /samples
folder.
For developers you should use a CNN to build a classifier of your choice (either trained from scratch or using a pre-trained model). You can follow the techniques detailed in the notebooks. You will find some examples of datasets in the section going further/tools on this page. For those of you who worked with the shape classifier with the toy NN it might be interesting to try to use CNN as a comparison (see the Kaggle dataset in tools).
Both designers and developers should start looking a bit more in details into their personal project (that we will start to work on after week 08) Which means:
- Make some research (models architecture, datasets, tutorials, blog posts, etc...), please share your finding on Discord if you think they could help some teammates.
- For designers you should start sketching some ideas either in the form of prototypes (high or low level), UI sketches, or even code experiment (P5, ML5).
By next week you should:
- Have a solid understanding of Keras (developers)
- Be able to train / retrain your own CNN with Keras (developers)
- CNN - Intro from ML is Fun
- CNN - An Intuitive Explanation of Convolutional Neural Networks
- CNN - DL with Python - Chapter 5 (please refer to the link shared on Slack)
- CNN - Visualizing what ConvNets learn
- CNN - Understanding convolutions
- CNN - Visualisation
- CNN - Visualisation Distill.pub 01
- CNN - Visualisation Distill.pub 02