Moero combines Mixture-of-Experts (MoE) with Deep Unrolled Models (DUM) to improve model capacity for multimodal MRI reconstruction, without increasing GPU memory use during training. This repository includes:
- An implementation of a VarNet based on End-to-End Variational Networks for Accelerated MRI Reconstruction.
- A small, fixed (non-trainable) MoE that uses k-means clustering via torch-kmeans.
This repository provides an implementation of the VarNet framework, which references the following two repositories: fastMRI, PromptMR+.
- Fixes several numerical stability problems found in PromptMR+.
- Splits the logic into clear parts and makes the code easier to read.
- Supports using different sub-networks for each cascade.
- BranchGrid: An MoE design extended from DUM that performs expert branching and aggregation. It is built into the main Moero class.
- BranchNav: A routing module for MoE that uses a custom clustering method.
A personal toolkit for MRI deep learning reconstruction. Note: it is not released and may be unstable or not work in places.
The name "Naneu" comes from a rotationally symmetric shape.
This project uses these Naneu tools:
- LazyModule: Dynamically load Python modules.
- ExtraContext: Recursively deliver context objects into
torch.nn.Moduleto pass extra losses or debugging outputs. - torchUnique: Share objects across ranks in distributed jobs.
Dependencies: Python 3.10, torch 12.6
The repository includes a requirements.txt for reference.
In our tests, it doesn’t work to set up the environment as-is. You may need to install the dependencies step by step in order (e.g., Python -> PyTorch -> …).