Image Classification Example¶
Image classification refers to the task of extracting information classes from an image.
In this example, you learn how to implement inference code with Deep Java Library (DJL) to recognize handwritten digits from an image.
The image classification example code can be found at ImageClassification.java.
You can also use the Jupyter notebook tutorial. The Jupyter notebook explains the key concepts in detail.
Setup Guide¶
Follow setup to configure your development environment.
Run the image classification example¶
Prepare your model¶
The model you can use is generated by the training example.
Run the training example to generate the model before continuing with this example.
The trained model will be stored as build/model/mlp-XXXX.params
.
Input image file¶
In the previous training example, you trained the model using the grayscale handwritten digit dataset, MNIST.
You can find the following image in your project test resource folder: src/test/resources/0.png
Build the project and run¶
Run the project by using the following command:
cd examples
./gradlew run -Dmain=ai.djl.examples.inference.cv.ImageClassification
Your output should look like the following:
[INFO ] - [
{"class": "0", "probability": 0.99997}
{"class": "2", "probability": 0.00002}
{"class": "8", "probability": 2.0e-06}
{"class": "9", "probability": 1.6e-06}
{"class": "6", "probability": 6.9e-07}
]
The results show that there's a 99.996 percent probability that the image contains a "0" digit.