MONAI icon indicating copy to clipboard operation
MONAI copied to clipboard

Add MedNeXt model architectures within MONAI

Open surajpaib opened this issue 1 year ago • 8 comments

Is your feature request related to a problem? Please describe. There seems to be some demand for ConvNeXt based architectures #4798 implemented in MONAI. Having a ConvNeXt-based segmentation model could be quite useful as it seems to perform very convincingly, based on results from this paper https://arxiv.org/abs/2404.09556

Describe the solution you'd like Provide an implementation of the MedNeXt model architecture in MONAI

Additional context I've implemented and benchmarked an implementation of MedNeXt, heavily based on code (https://github.com/MIC-DKFZ/MedNeXt) from the original authors. This implementation has support for dynamic configuration of blocks and follows an API very similar to SegResNetDS and was benchmarked through MONAI bundle config.

Happy to contribute this to MONAI (with the proper source attribution) if there is interest.

surajpaib avatar May 21 '24 02:05 surajpaib

Hi @surajpaib, welcome to the contribution, and if you like you can also add a bundle with your benchmark result into the model zoo repo and tutorial in the tutorial repo! Thanks!

KumoLiu avatar May 22 '24 14:05 KumoLiu

Hi @KumoLiu, great!

I will make a PR first into the core and then I can probably spend some time later making it a zoo supported bundle, right now I am using lighter with the MONAI bundle config structure and it might need some tweaks.

surajpaib avatar May 22 '24 22:05 surajpaib

Hello @surajpaib, I'm also interested by implementing MedNeXt in the MONAI core library as a first participation in an open-source project. So I just wonder where you are with it so far and if you need help for integration.

rcremese avatar Jun 26 '24 14:06 rcremese

Hi @rcremese

I've got the mednext code repurposed from the original repo to a very MONAI SegResNet like interface. I'll need to make the push to my MONAI fork. I'm currently busy on a work trip. I'll hopefully push it over the next week. It would be great to have some help with testing and simple performance benchmarks if that interests you

surajpaib avatar Jul 03 '24 19:07 surajpaib

Well, it's my turn to be in hollidays. But sure I would be interested to help on that issue. Just tell me what kind of benchmark you want me to test and wich branch of your fork I should use to test your implementation.

rcremese avatar Aug 05 '24 09:08 rcremese

Hi @rcremese,

I've made an early PR for the mednext implementation and added some basic tests similar to the segresnet.

I've tested this version on a training loop as well and it seems to perform well - I ran this a while ago and it seems like I've purged my results.

If you could also run a quick training loop, that would be really nice I think. Nothing else really comes to mind.

surajpaib avatar Aug 08 '24 18:08 surajpaib

As @KumoLiu suggested, we could also work together to add a tutorial, model bundle and put the test results there

surajpaib avatar Aug 08 '24 18:08 surajpaib

Hi @surajpaib , I saw your pull request and try to work on it. I can defenitely try to run a training loop with your model. Can you just tell me where I'm supposed to write my code ?

rcremese avatar Aug 13 '24 10:08 rcremese