Skip to content

Ikomia-hub/train_mmlab_detection

Repository files navigation

Algorithm icon

train_mmlab_detection


Stars Website GitHub
Discord community

Train for OpenMMLab detection models. mmdet illustration

🚀 Use with Ikomia API

1. Install Ikomia API

We strongly recommend using a virtual environment. If you're not sure where to start, we offer a tutorial here.

pip install ikomia

2. Create your workflow

from ikomia.dataprocess.workflow import Workflow

# Init your workflow
wf = Workflow()    

# Add dataset loader
coco = wf.add_task(name="dataset_coco")

coco.set_parameters({
    "json_file": "path/to/annotation/file.json",
    "image_folder": "path/to/image/folder",
    "task": "detection",
}) 

# Add train algorithm
train = wf.add_task(name="train_mmlab_detection", auto_connect=True)

# Launch your training on your data
wf.run()

☀️ Use with Ikomia Studio

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.

📝 Set algorithm parameters

  • model_weight_file (str): Path to model weights file .pth or URL.
  • config_file (str): Path to the .py config file.
  • epochs (int) - default '10': Number of complete passes through the training dataset.
  • batch_size (int) - default '2': Number of samples processed before the model is updated.
  • dataset_split_ratio (int) – default '90' ]0, 100[: Divide the dataset into train and evaluation sets.
  • eval_period (int) - default '1': Interval between evalutions.
  • output_folder (str, optional): path to where the model will be saved.

Parameters should be in strings format when added to the dictionary.

from ikomia.dataprocess.workflow import Workflow

# Init your workflow
wf = Workflow()    

# Add dataset loader
coco = wf.add_task(name="dataset_coco")

coco.set_parameters({
    "json_file": "path/to/annotation/file.json",
    "image_folder": "path/to/image/folder",
    "task": "detection",
}) 

# Add train algorithm
train = wf.add_task(name="train_mmlab_detection", auto_connect=True)
train.set_parameters({
    "epochs": "5",
    "batch_size": "2",
    "dataset_split_ratio": "90",
    "eval_period": "1"
}) 

# Launch your training on your data
wf.run()