Skip to content

Ikomia-hub/train_detectron2_detection

Repository files navigation

Algorithm icon

train_detectron2_detection


Stars Website GitHub
Discord community

Train your custom Detectron2 object detection models.

Desk object detection

🚀 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_detectron2_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_name (str) - default 'COCO-Detection/faster_rcnn_R_101_FPN_3x': Name of the pre-trained model. Additional model available:

    • COCO-Detection/faster_rcnn_R_101_C4_3x
    • COCO-Detection/faster_rcnn_R_101_DC5_3x
    • COCO-Detection/faster_rcnn_R_101_FPN_3x
    • COCO-Detection/faster_rcnn_R_50_C4_1x
    • COCO-Detection/faster_rcnn_R_50_C4_3x
    • COCO-Detection/faster_rcnn_R_50_DC5_1x
    • COCO-Detection/faster_rcnn_R_50_DC5_3x
    • COCO-Detection/faster_rcnn_R_50_FPN_1x
    • COCO-Detection/faster_rcnn_R_50_FPN_3x
    • COCO-Detection/faster_rcnn_X_101_32x8d_FPN_3x
    • COCO-Detection/fast_rcnn_R_50_FPN_1x
    • COCO-Detection/retinanet_R_101_FPN_3x
    • COCO-Detection/retinanet_R_50_FPN_1x
    • COCO-Detection/retinanet_R_50_FPN_3x
    • PascalVOC-Detection/faster_rcnn_R_50_C4
  • max_iter (int) - default '100': Maximum number of iterations.

  • batch_size (int) - default '2': Number of samples processed before the model is updated.

  • input_size (int) - default '400': Size of the input image.

  • output_folder (str, optional): path to where the model will be saved.

  • learning_rate (float) - default '0.0025': Step size at which the model's parameters are updated during training.

  • eval_period (int): Interval between evalutions.

  • dataset_split_ratio (float) – default '0.8' ]0, 1[: Divide the dataset into train and evaluation sets.

  • config_file(str, optional): Path to config file.

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_detectron2_detection", auto_connect=True)
train.set_parameters({
    "model_name": "COCO-Detection/faster_rcnn_R_50_C4_1x",
    "batch_size": "2",
    "input_size": "400",
    "learning_rate": "0.0025",
    "dataset_split_ratio": "0.8",
}) 

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages