I recently completed Machine Learning in JavaScript with TensorFlow.js by Charlie Gerard on Frontend Masters.

The course is not a comprehensive or professional introduction to machine learning, machine learning in JavaScript, or TensorFlow.js. It’s only about 4 hours and 45 minutes long. I think a better suited name for the course may have been A Tinkerer’s Launching Pad for Machine Learning Projects in JavaScript.

In the course, you build three applications with some variants:

  1. One that uses a pre-trained model
    1. that lets you open an image file from your computer
      1. and can predict what’s in the image
    2. that lets you take a picture with your webcam
      1. and can predict what you took a picture of
      2. and can draw a square around a face
  2. One that uses transfer learning (using a pre-trained model for a new task) with a model generated from Teachable Machine
    1. that can use your webcam and tell you if your face is leaning to the left or the right
  3. One that allows you to train a model in your own browser
    1. using your mouse to draw a shape and predict whether you drew a circle or a triangle

Most of the time in the course is spent typing the core scripts of the application, which I generally find valuable, but the course lacks a lot of conceptual overview. There’s not a lot of explanation as to why you need to use a particular TensorFlow.js method or rules of thumb for configuring various parameters. You just type what she typed.

I feel like the value you’d get out of this course is directly correlated to how interested you are in the projects that are built in the course. If you want to jump in and tweak the functionality of one of these applications, it has a lot of value. It could also be useful if you want to start a project that involves classifying images or sounds. I personally don’t feel like I took away a lot of general knowledge or that I necessarily feel like I have a head start in my own project ideas, but it did expand my awareness of what’s possible and could provide inspiration for new projects in the future.