Google News
ml5.js - Interview Questions
Explaine Our sketch.js in 4 steps
Step 1: Define your variables
Here we define our variables that we will assign our classifier and image to.
// Initialize the Image Classifier method with MobileNet. A callback needs to be passed.
let classifier;

// A variable to hold the image we want to classify
let img;
Step 2: Load your imageClassifier and image
Use p5's preload() function to load our imageClassifier model and our bird image before running the rest of our code. Since machine learning models can be large, it can take time to load. We use preload() in this case to make sure our imageClassifier and image are ready to go before we can apply the image classification in the next step.
function preload() {
  classifier = ml5.imageClassifier('MobileNet');
  img = loadImage('images/bird.png');

Step 3: Setup, classify, and display
In p5.js we use the setup() function for everything in our program that just runs once. In our program, we use the setup() function to:
* create a canvas to render our image
* call .classify() on our classifier to classify our image
* render the image to the canvas

You will notice that the .classify() function takes two parameters: 1. the image you want to classify, and 2. a callback function called gotResult. Let's look at what gotResult does.
function setup() {
  createCanvas(400, 400);
  classifier.classify(img, gotResult);
  image(img, 0, 0);
Step 4: Define the gotResult() callback function
The gotResult() function takes two parameters: 1. error, and 2. results. These get passed along to gotResult() when the .classify() function finishes classifying the image. If there is an error, then an error will be logged. If our classifier manages to recognize the content of the image, then a result will be returned.
In the case of our program, we create a div that displays the label and the confidence of the content of the image that has been classified. The nf() function is a p5 function that formats our number to a nicer string.
// A function to run when we get any errors and the results
function gotResult(error, results) {
  // Display error in the console
  if (error) {
  } else {
    // The results are in an array ordered by confidence.
    createDiv(`Label: ${results[0].label}`);
    createDiv(`Confidence: ${nf(results[0].confidence, 0, 2)}`);