Expand ONNX export test coverage beyond UNet and SegResNet
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 75/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- machine-learning, testing-qa
Direzione di ricerca
Inizia da tests/networks/test_convert_to_onnx.py e segui il pattern di esportazione ONNX parametrizzato già presente. Aggiungi la copertura esclusivamente CPU per le dieci architetture di rete indicate, usando configurazioni ridotte e input minimi, con BasicUNetPlusPlus configurato con deep_supervision=False. Il lavoro è completato quando ogni modello elencato viene esportato correttamente senza aumentare sostanzialmente il tempo di esecuzione della CI.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The current ONNX export test suite (tests/networks/test_convert_to_onnx.py) only covers 2 out of 40+ network architectures: UNet (2D) and SegResNet (3D). This means regressions in ONNX exportability for widely used architectures like DynUNet, UNETR, VNet, DenseNet, ResNet, etc. go completely undetected until a user hits them in production.
The convert_to_onnx() utility is a key part of MONAI's deployment story, and the gap between supported networks and tested networks is significant.
Describing the solution
Add parameterized ONNX export tests for additional architectures that are known to export cleanly. Starting with these 10 LOW-risk networks that have no ONNX-incompatible patterns (no .item(), no data-dependent control flow, single-tensor output):
- DynUNet — popular for nnU-Net style pipelines
- AttentionUnet — standard attention-gated U-Net
- BasicUNet — simple baseline U-Net
- BasicUNetPlusPlus — UNet++ (with
deep_supervision=False) - VNet — classic 3D segmentation
- HighResNet — standard 3D segmentation
- DenseNet — classification backbone
- ResNet — classification backbone
- SENet — squeeze-excitation network
- UNETR — transformer-based segmentation
All tests will use small model configurations and tiny input tensors to keep CI runtime low, following the existing parameterized pattern in the test file.
Describe alternatives
- Testing all 40+ networks at once — impractical due to ONNX-incompatible patterns in some architectures (e.g., SwinUNETR uses
.item()during init, AHNet has data-dependent control flow). Better to start with the safe subset and expand incrementally.
Additional context
The existing FIXME at line 29 of test_convert_to_onnx.py notes that CUDA produces different outputs vs ONNX — all tests run CPU-only, which is fine for verifying exportability.
- Lingua principale
- Python
- Stelle
- 8.7k
- Fork
- 1.6k
- Merge medio
- 5g 20h
- PR unite (30g)
- 12
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Project-MONAI/MONAI
-
ProbMapProducer raises IndexError on numpy 2.x: SlidingPatchWSIDataset emits float locationsForse già presa @nilapate l’ha presa 8 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Project-MONAI/MONAI#9135 ·
I maintainer di solito rispondono entro 4 giorni
-
RandGridPatch crashes for documented 0 or None patch_size entriesForse già presa @Rajioba1 l’ha presa 64 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Project-MONAI/MONAI#9046 ·
I maintainer di solito rispondono entro 4 giorni
-
Incorrect type hint in `pad_func`Forse già presa @Harshal875 l’ha presa 70 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
Project-MONAI/MONAI#9026 ·
I maintainer di solito rispondono entro 4 giorni
-
Add ROCm support for AMD Instinct GPUsForse già presa @nilapate l’ha presa 1 giorno fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
Project-MONAI/MONAI#9152 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
Project-MONAI/MONAI#9151 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di Project-MONAI/MONAI
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
modelcontextprotocol/python-sdk#3648 ·
I maintainer di solito rispondono entro 1 giorno
-
docs good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
VenetoStato/giorgio#6 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Claiming namespace ddalusAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
EclipseFdn/open-vsx.org#13831 ·
I maintainer di solito rispondono entro 1 giorno