Code and links to relevant course materials for the AHO ML/AI workshop.
For the workshop we recommend using a modern browser, such as Chrome, Firefox or Safari.
Most of the exercises can be done in the p5.js editor, but it's also possible to download the code in this repository, edit and run the code examples locally on your computer.
For those of you who are interested in editing code locally on your computer, it's possible to use either Notepad (on Windows) or TextEdit (on Mac), but we recommend downloading a more advanced code editor such as VS Code or Sublime Text.
If you want to run the code examples in this repository, you'll need to set up a local webserver. You can do this by either using the Chrome extension Web Server for Chrome:
- install the Chrome extension Web Server for Chrome
- Start the extension
- Click
choose folderand point to the folder with these files.
or using Python (which should be installed by default on Mac) :
- Open
Terminalapp - Browse to the folder with these files via
cdcommand - run
python -m SimpleHTTPServer 8887
After this, you should be able to go to http://localhost:8887 in your browser, and browse the files in this folder.
Intro to p5.js:
- p5.js editor : https://editor.p5js.org/
- get started with p5.js : https://p5js.org/get-started/
- p5.js reference : https://p5js.org/reference/
Basic p5.js examples:
- Changing color of background : https://editor.p5js.org/auduno/sketches/fYK2ZOjsx
- Drawing a rectangle to canvas : https://editor.p5js.org/auduno/sketches/6ZeqDkhZN
- Drawing a circle to canvas : https://editor.p5js.org/auduno/sketches/kWQO81200
- Drawing text to canvas : https://editor.p5js.org/auduno/sketches/nkT4nnjzT
- Drawing an image to canvas : https://editor.p5js.org/auduno/sketches/YxpWijbcA
- Setting up a webcam : https://editor.p5js.org/auduno/sketches/23ZwMLAV9
- Playing sound : https://editor.p5js.org/auduno/sketches/hd-dHQjl5
- Adding buttons (to for instance play and stop music) : https://editor.p5js.org/auduno/sketches/O8aflsB5M
- Generating sound with p5 oscillator : https://editor.p5js.org/auduno/sketches/28tk2VZNk
- Generating speech with p5 speech : https://editor.p5js.org/auduno/sketches/7GNUSmq5F
- Adding some HTML outside canvas : https://editor.p5js.org/auduno/sketches/qDkMHm2Gd
ML5js examples in p5.js editor:
- Image classification : https://editor.p5js.org/auduno/sketches/ntulQR_Nv
- Image classification (with webcam) : https://editor.p5js.org/auduno/sketches/eu2HQhI-b
- Audio classification : https://editor.p5js.org/auduno/sketches/QutnV0TJA
- Object detection with YOLO : https://editor.p5js.org/auduno/sketches/TApMHyvtv
- Object detection with Coco-SSD : https://editor.p5js.org/auduno/sketches/5AzA2cGIj
- PoseNet : https://editor.p5js.org/auduno/sketches/2PxQjvRhL
Teachable machine models in p5.js:
- Image classification (with webcam) : https://editor.p5js.org/auduno/sketches/dG8rkr8Cd
- Audio classification : https://editor.p5js.org/auduno/sketches/azPsAtRlC
- PoseNet : https://editor.p5js.org/auduno/sketches/7hDcPUU0o
Resources:
- http://vy.nasjonalmuseet.no
- http://fontmap.ideo.com/
- https://experiments.withgoogle.com/ai/drum-machine/view/
- https://cs.stanford.edu/people/karpathy/cnnembed/
- https://projector.tensorflow.org/
- some links on t-SNE and umap:
Generative drawing:
Generative text:
Generative music/sound:
GAN examples:
- BigGAN class visualization : https://www.youtube.com/watch?v=YY6LrQSxIbc&feature=youtu.be
- StyleGAN presentation : https://www.youtube.com/watch?v=kSLJriaOumA&feature=youtu.be&t=25s
- StyleGAN faces : https://thispersondoesnotexist.com/
- StyleGAN cars interpolation : https://youtu.be/OLZ3-ZJwSu4
- StyleGAN trained on photobooth photos : https://www.reddit.com/r/Damnthatsinteresting/comments/9udese/plugging_50000_portraits_into_facial/?utm_source=share&utm_medium=web2x
- StyleGAN trained on Garfield : https://twitter.com/calamardh/status/1148655219032690692
- A bit technical article on training stylegan models yourself : https://www.gwern.net/Faces
Conditional GANs / Image translation:
Hands-on:
Design resources:
Ethics and AI:
- Digital dystopia : how algorithms punish the poor
- Machine Bias : bias in criminal system software
- Amazon scraps secret AI recruiting tool that showed bias against women
- Can you make AI fairer than a judge?
- Racial Bias Found in Algorithms That Determine Health Care for Millions of Patients
- The making of a youtube radical
- Excavating AI : The Politics of Images in Machine Learning Training Sets
- Survival of the best fit
Visualizing and understanding convolutional neural networks: