Torchscript Deprecation
Los mantenedores suelen responder en 4 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Refactorización
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Área
- machine-learning
Línea de trabajo
Comience con el ejemplo documentado de monai.networks.nets.UNet usando torch.export y, después, audite el uso existente de torch.jit en MONAI. Identifique las redes y los comportamientos incompatibles, y desarrolle las rutinas auxiliares, las pruebas de compatibilidad, las adaptaciones, los tutoriales y la eliminación del uso heredado indicados. Se considera completado cuando el alcance de la migración está cubierto sin dependencias de Torchscript no compatibles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Torchscript is now fully deprecated in Pytorch 2.9. We should investigate converting usage in MONAI of torch.jit over to torch.export. Not all features and behaviours are supported as it is not the same sort of JIT architecture, and torch.compile is not meant for exporting models to a saved format.
Some MONAI models will have no issues with torch.export.export, however it doesn't capture control flow like Torchscript and is more like tracing. Networks without control flow in their forward definitions can be exported currently, eg.:
import torch
from monai.networks.nets import UNet
net = UNet(spatial_dims=2, in_channels=2, out_channels=1, channels=[4, 8, 16], strides=[2, 2])
t1 = torch.rand(3, 2, 16, 16)
t2 = torch.rand(5, 2, 32, 32)
print(net(t1).shape, net(t2).shape) # expected shapes
D = torch.export.Dim.DYNAMIC
S = torch.export.Dim.STATIC
enet = torch.export.export(net, args=(t1,), dynamic_shapes=((D, S, D, D),))
torch.export.save(enet, "out.pt2")
enet1 = torch.export.load("out.pt2")
net1 = enet1.module()
print(net1(t1).shape, net1(t2).shape) # same as expected shapes
Work is needed to develop:
- Helper routines to help export then import networks in regular use.
- Helper routines and tests to ensure compatibility.
- Adaptation of existing code to overcome any compatibility issues.
- Tutorials on this new usage and how to design compatible networks.
- Removal of legacy Torchscript usage wherever present, especially when its removal from Pytorch is imminent.
- Lenguaje dominante
- Python
- Estrellas
- 8.7k
- Forks
- 1.6k
- Merge medio
- 5 d 18 h
- PR fusionados (30 d)
- 13
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Project-MONAI/MONAI
-
ProbMapProducer raises IndexError on numpy 2.x: SlidingPatchWSIDataset emits float locationsPosiblemente ocupada @nilapate la tomó hace 7 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Project-MONAI/MONAI#9135 ·
Los mantenedores suelen responder en 4 días
-
RandGridPatch crashes for documented 0 or None patch_size entriesPosiblemente ocupada @Rajioba1 la tomó hace 63 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Project-MONAI/MONAI#9046 ·
Los mantenedores suelen responder en 4 días
-
Incorrect type hint in `pad_func`Posiblemente ocupada @Harshal875 la tomó hace 69 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Project-MONAI/MONAI#9026 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
Project-MONAI/MONAI#9151 ·
Los mantenedores suelen responder en 4 días
-
DiNTS forward() breaks the torch.compile graph on every topology branchPosiblemente ocupada @nilapate la tomó hace 4 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
Project-MONAI/MONAI#9144 ·
Los mantenedores suelen responder en 4 días
Todos los issues de Project-MONAI/MONAI
Issues similares
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
debpalash/VoiceStudio#2624 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Make Catch2 optional when `RDK_BUILD_CPP_TESTS=OFF`Posiblemente ocupada @pechersky la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
There are a few redundant calls to `fdesc._setCloseOnExec()`Posiblemente ocupada @gudnimg la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día