Run timm image classification models.
Inference can be done with models pretrained on Imagenet or custom models trained with the plugin train_timm_image_classification.
We strongly recommend using a virtual environment. If you're not sure where to start, we offer a tutorial here.
pip install ikomia
from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display
# Init your workflow
wf = Workflow()
# Add algorithm
algo = wf.add_task(name="infer_timm_image_classification", auto_connect=True)
# Run directly on your image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_porsche.jpg")
# Inspect your result
display(algo.get_image_with_graphics())
Ikomia Studio offers a friendly UI with the same features as the API.
-
If you haven't started using Ikomia Studio yet, download and install it from this page.
-
For additional guidance on getting started with Ikomia Studio, check out this blog post.
- model_name (str) - default 'resnet18': Name of the pre-trained model.
- There are hundreds of timm models. You can list them using: timm.list_models()
- input_size (list) - default '(224, 224)': Size of the input image.
- model_weight_file (str, optional): Path to model weights file.
- class_file (str, optional): Path to text file (.txt) containing class names.
Parameters should be in strings format when added to the dictionary.
from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display
# Init your workflow
wf = Workflow()
# Add algorithm
algo = wf.add_task(name="infer_timm_image_classification", auto_connect=True)
algo.set_parameters({
"model_name": "cait_s24_384",
"input_size": "(384, 384)",
})
# Run directly on your image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_porsche.jpg")
# Inspect your result
display(algo.get_image_with_graphics())
Every algorithm produces specific outputs, yet they can be explored them the same way using the Ikomia API. For a more in-depth understanding of managing algorithm outputs, please refer to the documentation.
import ikomia
from ikomia.dataprocess.workflow import Workflow
# Init your workflow
wf = Workflow()
# Add algorithm
algo = wf.add_task(name="infer_timm_image_classification", auto_connect=True)
# Run on your image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_porsche.jpg")
# Iterate over outputs
for output in algo.get_outputs():
# Print information
print(output)
# Export it to JSON
output.to_json()