Add TorchScript model (model.ts) for Swin UNETR segmentation #747
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes # .
Description
This PR adds a traced TorchScript model (model.ts) to address issue #511 in the monai-deploy-app-sdk repository, where the ai_unetr_seg_app example cannot run due to a missing traced model. The original error in the app was:
monai.deploy.exceptions.ItemNotExistsError: A predictor of the model is not set.
The example app expects a TorchScript model, but the current model provided in the Model Zoo (model_swin_unetr_btcv_segmentation_v1.pt) is a standard PyTorch model, not a TorchScript format.
Solution
I've created a traced version of the Swin UNETR BTCV segmentation model by:
Loading the original model's state dictionary
Creating a new SwinUNETR instance with the correct parameters
Tracing the model using torch.jit.trace with appropriate input dimensions
Preparing the necessary model file structure according to Model Zoo guidelines
Status
Ready
Please ensure all the checkboxes:
./runtests.sh --codeformat
.version
andchangelog
inmetadata.json
if changing an existing bundle.CONTRIBUTING.md
).monai
,pytorch
andnumpy
are correct inmetadata.json
.eval_metrics
of the provided weights and TorchScript modules.large_file.yml
./home/your_name/
for"bundle_root"
).