Project-MONAI / Project-MONAI/MONAILabel

Use Multiple Bundle Config Files With Inference/Training

Open
#1,549 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
891
Forks
269
Avg merge
15h 41m
Merged PRs (30d)
1

Description

Is your feature request related to a problem? Please describe.
One of the best practice concepts we're documenting with bundles is having a config file with common definitions used by inference or training configs. This would be "common.json" or "common.yaml", and would for example be loaded first before "inference.json" or "train.json". MONAILabel currently loads only one file and optionally will load "multi_gpu_train.json/yaml", if "common.json/yaml" is present would follow best practice to load this file first.

Describe the solution you'd like
The bundle infer or train tasks should load "common.json/yaml" before infer/train configs. This should be included in the constants data structures used by these tasks to track what files are searched for. This behaviour should also be clearly documented.

Describe alternatives you've considered
Currently definitions have to be duplicated across multiple scripts to ensure compatibility with MONAILabel. This is error-prone and not modular.

Additional context
This is an important change I feel in conjunction with the bundle work we're doing for the 1.3 core release.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the bundle inference and training task entry points and their constants or data structures that track searched config files. Trace how multi_gpu_train and the existing config files are loaded, then review the bundle documentation. Done means common.json/yaml is loaded before the inference or training config and the behavior is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.