Teachable Machine - Embedded Model
Google Creative Lab
Google Creative Lab
Role: Fullstack Developer
Built with lit-element, TensorFlow.js, and Tensorflow Lite for Microcontrollers.
Built with lit-element, TensorFlow.js, and Tensorflow Lite for Microcontrollers.
https://teachablemachine.withgoogle.com/
Teachable machine is an incredible web tool that lets you train machine learning models completley in the browser, with no code required. The first version was made by folks in the creative lab a few years ago, and I was lucky enough to contribute to the second version. You can create image classifier, a pose classifier, or a keyword detector.
It’s been useful in education, public policy, accessibility research, and more.
My main contribution was the model exporter. This takes the tensorflow.js model and allows the user to download it in a range of formats, from Keras to models compiled for the Coral TPU. We recently open-sourced this code, check it out here.
Recently, I also created the ‘Embedded Image Model’, which is a smaller, 96x96 grayscale model (vs the standard 224x224 rgb). This reduction allows the model to be converted and run on a microcontroller like the Arduino Nano 33 BLE.
Teachable Machine already does deep transfer learning in the browser, so most of the work was in porting the model architecture to tensorflow.js, as well modifying the image library to support the new model architecture.
Along with the addition of the Embedded Image Model, I also modernized the CI and CD systems in place for TM and updated the audio model to be compatible with the TFLite Task Library.
Teachable machine is an incredible web tool that lets you train machine learning models completley in the browser, with no code required. The first version was made by folks in the creative lab a few years ago, and I was lucky enough to contribute to the second version. You can create image classifier, a pose classifier, or a keyword detector.
It’s been useful in education, public policy, accessibility research, and more.
My main contribution was the model exporter. This takes the tensorflow.js model and allows the user to download it in a range of formats, from Keras to models compiled for the Coral TPU. We recently open-sourced this code, check it out here.
Recently, I also created the ‘Embedded Image Model’, which is a smaller, 96x96 grayscale model (vs the standard 224x224 rgb). This reduction allows the model to be converted and run on a microcontroller like the Arduino Nano 33 BLE.
Teachable Machine already does deep transfer learning in the browser, so most of the work was in porting the model architecture to tensorflow.js, as well modifying the image library to support the new model architecture.
Along with the addition of the Embedded Image Model, I also modernized the CI and CD systems in place for TM and updated the audio model to be compatible with the TFLite Task Library.