Classify Images with the Pre-Trained Model¶
Let’s use the pre-trained model we just downloaded to classify the images in the Images to classify folder.
With the Images to classify folder selected, click Deep learning on images from the plugin recipe section of the Actions menu.
Choose Image classification (v2).
Set Images to classify as the “Image folder” and Pre-trained model (imagenet) as the “Model folder”.
Create a new output dataset
Classification
.Click Create Dataset, and then click Create.
Now to adjust the settings.
In the Image classification dialog, set the “Max number of class labels” to
1
since we want the model to make a single prediction for each image.Run the recipe.
The resulting dataset contains a column with the predictions. Each prediction is a simple JSON with the predicted label and the model-predicted probability that the label is correct.
Prepare the Output from the Pre-trained Model¶
Manually scanning the predictions to see which are correct is time-consuming and error-prone, so we’ll use a Prepare recipe to find the correct and incorrect classifications.
From the Actions menu of the Classification dataset, select the Prepare recipe.
In the recipe creation dialog, rename the output dataset
Classification_results
, and then click Create Recipe.
Extract the labels from the filenames.
From the images column dropdown, select More actions > Find and replace….
Type
labels
as the output column name.With “Regular expression” as the matching mode, copy-paste
.*_(.*)\..*
as the regular expression and$1
as the replacement value.
Extract the prediction from the JSON.
From the prediction column dropdown, select More actions > Find and replace….
With Regular expression as the matching mode, copy-paste
.*"(.*)".*
as the regular expression and$1
as the replacement value.
And one more step:
Click Add a New Step and choose Formula from the processors library.
Type
good_prediction
as the name of the output column.Copy-paste
if(labels==prediction,1,0)
as the expression.Sort the new good_prediction column in ascending order.
Right out of the box, the pre-trained model can classify most of our images of lions and tigers! Only three animals were misclassified as other animals in this case.
Finally, click Run to create the output dataset and return to the Flow.
Tip
Check the misclassified images to see why the model may have struggled with them!