label-studio
label-studio copied to clipboard
feat: Add batch training experimental feature to allow batching of multiple tasks when training with ML backend
PR fulfills these requirements
- [ ] Commit message(s) and PR title follows the format
[fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made
ex.fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
- [x] Tests for the changes have been added/updated (for bug fixes/features)
- [x] Docs have been added/updated (for bug fixes/features)
- [x] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
- [x] Self-reviewed and ran all changes on a local instance (for bug fixes/features)
Change has impacts in these area(s)
(check all that apply)
- [ ] Product design
- [ ] Backend (Database)
- [x] Backend (API)
- [ ] Frontend
Describe the reason for change
(link to issue, supportive screenshots etc.) Wanted to batch multiple tasks together from database view before training model. This feature allows the user to, after turning on the experimental feature, to select multiple tasks and send it to the backend for training. Before, it was only possible to do one at a time. For most machine learning / deep learning domains, task batching is preferred to train models used for inference.
What does this fix?
(if this is a bug fix) N/A
What is the new behavior?
(if this is a breaking or feature change) After turning on experimental features, the user can select multiple tasks from the task view and send a batch of tasks to train their ML backend.
What is the current behavior?
(if this is a breaking or feature change)
What libraries were added/updated?
(list all with version changes)
Does this change affect performance?
(if so describe the impacts positive or negative) No
Does this change affect security?
(if so describe the impacts positive or negative) No
What alternative approaches were there?
(briefly list any if applicable)
This feature could be added to main software, but for testing I am currently keeping the batch training option as an experimental feature.
What feature flags were used to cover this change?
(briefly list any if applicable)
Does this PR introduce a breaking change?
(check only one)
- [ ] Yes, and covered entirely by feature flag(s)
- [ ] Yes, and covered partially by feature flag(s)
- [x ] No
- [ ] Not sure (briefly explain the situation below)
What level of testing was included in the change?
(check all that apply)
- [ ] e2e
- [ ] integration
- [ ] unit
Which logical domain(s) does this change affect?
(for bug fixes/features, be as precise as possible. ex. Authentication, Annotation History, Review Stream etc.) Task Manager training