Computer Perception Extended - Winter 2019

MIT License Twitter

Intro

In this module we will explore different applications of ML/AI/DL with a particular focus on design and art. We will first learn how neural networks work with simple code examples, then we will experiment with different techniques of Deep Learning:

Once we get a good grasp of the different techniques, we will experiment further by building our own ‘AI’ project. :space_invader:

Schedule

Week 01: Content - Slides

Week 02: Content - Slides

Week 03: Content - Slides

Week 04: Content - Slides

Week 05

Week 06 Content - Slides

Week 07

Week 08 Content - Slides

Tools

System requirement

Modern machine with decent hardware and sufficient space on the hard drive (20+ Gb)

Runway

We are using Runway, a tool which makes deploying ML models easy, as middleware to build the interactive experiments. All participants to the workshop should have received an invitations with some GPU credits :tada:. For those who have not installed it prior to the workshop, we will go through the installation process together.

Docker

Docker is needed in order to deploy some of the models locally. This will give us some flexibility when running experiments. It will also allow us to chain models (at the moment a user can only run one model instance using the provided cloud GPU in Runway). A guide to getting started is available. For linux users, those post install steps could be useful as well.

Docker for Windows requires Microsoft Hyper-V, which is supported only in the Pro, Enterprise or Education editions of Windows. If you don’t have a Pro, Enterprise or Education Windows edition you will not be able to install Docker and you will be able to only run some models using cloud GPU.

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.

Code editor

If you don’t have a code editor, please install one. Some suggestions (in no particular order)

Web server

We need a simple web server to run the experiments locally. Some suggestions

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.

Samples

TBA

References / Reading list

Repository structure

├── docs
│   ├── _layouts
│   ├── assets            (img, etc.. for content)
│   │   ├── css
│   │   └── images
│   └── slides            (slides of the presentations)
│       ├── demos
│       └── static        (img, etc.. for slides)
├── samples               (code samples) 
└── utilities             (scripts and notes)