Project-MONAI / MONAILabel

MONAI Label is an intelligent open source image labeling and learning tool.
https://docs.monai.io/projects/label
Apache License 2.0
609 stars 196 forks source link

Faster Training Process for MONAI Label #444

Closed finalelement closed 2 years ago

finalelement commented 3 years ago

This is a list of techniques for faster convergence to complete the training process faster for Spleen/Heart.

Experimental Settings observed for trial are:

@SachidanandAlle If you have another issue in parallel for the thread data loader, please direct me to the correct milestone and Ill tag this one there as well.

I will report here with experimental findings.

SachidanandAlle commented 3 years ago

can you prepare a PR for these changes?

finalelement commented 3 years ago

PR raised: https://github.com/Project-MONAI/MONAILabel/pull/485

Identified room for improvement by usage of DiceCE Loss function, Novograd optimizer. I propose we add these with an option for fast training flag.

Two other things up for consideration are ThreadDataLoader's and the usage of transform ToDeviced (allows for moving data to the GPU for faster training).

SachidanandAlle commented 2 years ago

I am working on this.. will add options to select ThreadDataLoader and provision user to run some transforms on GPU

SachidanandAlle commented 2 years ago

https://github.com/Project-MONAI/MONAILabel/pull/485 solves this problem

For example the training per epoch is reduced to 4 sec from 16 sec (keeping the hardware constant)