Моя модель вперед возвращает что-то вроде:
Код: Выделить всё
return {
"latent_a": latent_a,
"segmentation": segmentation_logits,
"classification": classification_logits,
}
Документы MONAI говорят, что аргумент предиктора может быть вызываемым, но я не уверен, какой самый чистый или рекомендуемый способ использовать его в моем случае.
В настоящее время я это делаю:
Код: Выделить всё
outputs = sliding_window_inference(
inputs=images,
roi_size=(256, 256),
sw_batch_size=1,
predictor=model,
)
Обновление:
Могу ли я определить функцию-член в классе модели:
Код: Выделить всё
def predict_seg(self, x: torch.Tensor) -> torch.Tensor:
out = self.forward(x)
return out["seg_logits"]
class SegmentationWrapper(nn.Module):
def init(self, model):
super().init()
self.model = model
Код: Выделить всё
def forward(self, x):
return self.model.predict_seg(x)
Код: Выделить всё
model = SegmentationWrapper(model)
Код: Выделить всё
predictor=model