Intro
This week will be mostly about planning and inspirations. We will go together through the schedule, evaluation criteria, talk about the basis of ML and have a look at different examples of ML projects. We’ll also have a look at some of the tools we are going to use during the class.
Schedule
Time | Desc |
---|---|
1 h | Intro |
10 mins | Break |
30 mins | Tools |
15 mins | Preparation work |
5 mins | Exit ticket |
Intro
- Me / Class
- intro
- Class
- Philosophy
- Peer Learning
- Three before me
- Different levels -> Help others, produce content for the class.
- History
- Tools
- Relax VS Strict / Expectations
- Produce content that can be shared
- You
- Questions / Expectations
- Write down your questions / expectations
- Research driven by questions
- Getting help
- How to ask for help
- Pair programming
- Code of conduct (OSS, etc…)
- Giving feedback:
- Exit ticket 3 Questions at the end of each class
- Critique and Feedback: interactive
- Questions / Expectations
Preparation work
- Watch the NN - Intro videos from 3blue1brown.
- Complete the notebooks in “Working with Notebooks in Colab” (in the section “More Resources”) from the intro to colaboratory notebook
- Start learning python the hard way, the full book is available in the resource folder
- Read more about the history of Machine Learning
- Get inspired!
The goal this week is to:
- Start understanding how a NN work
- get familiar with Colab and Python
Going further
- History - Longer history of Machine Learning
- Math - Essence of Linear Algebra
- Math - Linear Algebra CheatSheet
- NN - Intro
- NN - Visualisation
- ML - Getting started
- NN - From scratch (Python)
- NN - From scratch (Python)
- NN - From scratch (Processing)
Exit ticket
Exit ticket link if iframe is not working
Tools
Code editor
If you don’t have a code editor, please install one. Some suggestions (in no particular order)
Web server
We will need a simple web server to run the experiments locally. Some suggestions
- If you have node.js/npm installed you can use live-server:
npm install -g live-server
- Other recommended options
Colab
Colaboratory, or “Colab” for short, allows you to write and execute Python in your browser, with
- Zero configuration required
- Free access to GPUs
- Easy sharing
Conda
Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.
Pytorch
Pytorch PyTorch is an open source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing, primarily developed by Facebook’s AI Research lab (FAIR). It is free and open-source software released under the Modified BSD license.
Tensorflow.js
A JavaScript library with a more advanced set of options, also for the web.
Keras
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation
ML5.js
ML5.js is a simple JavaScript ML library for the web based on tensorflow.js.
P5.js
p5.js is a high level creative programming framework with an intuitive API. If some of you have used Processing before you should be confortable using p5.js. To get familiar with p5 you can go through this list of tutorials / guides:
Magenta.js
Magenta.js is a collection of TypeScript libraries for doing inference with pre-trained Magenta models. All libraries are published as npm packages.