From ae46a03925fac1fb1cad69d64ee54d66928e6d11 Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Fri, 8 Apr 2022 08:19:08 +0100 Subject: [PATCH 1/3] update mmar tests Signed-off-by: Wenqi Li --- tests/ngc_mmar_loading.py | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/tests/ngc_mmar_loading.py b/tests/ngc_mmar_loading.py index 5261dfd612..b8f53b7552 100644 --- a/tests/ngc_mmar_loading.py +++ b/tests/ngc_mmar_loading.py @@ -10,6 +10,7 @@ # limitations under the License. import os +import sys import unittest import torch @@ -17,6 +18,7 @@ from monai.apps.mmars import MODEL_DESC, load_from_mmar from monai.config import print_debug_info +from monai.networks.utils import copy_model_state class TestAllDownloadingMMAR(unittest.TestCase): @@ -26,10 +28,33 @@ def setUp(self): @parameterized.expand((item,) for item in MODEL_DESC) def test_loading_mmar(self, item): + if item["name"] == "clara_pt_self_supervised_learning_segmentation": # test the byow model + default_model_file = os.path.join("ssl_models_2gpu", "best_metric_model.pt") + pretrained_weights = load_from_mmar( + item=item["name"], + mmar_dir="./", + map_location="cpu", + api=True, + model_file=default_model_file, + weights_only=True, + ) + pretrained_weights = {k.split(".", 1)[1]: v for k, v in pretrained_weights["state_dict"].items()} + sys.path.append(os.path.join(f"{item['name']}", "custom")) # custom model folder + from vit_network import ViTAutoEnc # noqa + + model = ViTAutoEnc( + in_channels=1, + img_size=(96, 96, 96), + patch_size=(16, 16, 16), + pos_embed="conv", + hidden_size=768, + mlp_dim=3072, + ) + _, loaded, not_loaded = copy_model_state(model, pretrained_weights) + self.assertTrue(len(loaded) > 0 and len(not_loaded) == 0) + return if item["name"] == "clara_pt_fed_learning_brain_tumor_mri_segmentation": default_model_file = os.path.join("models", "server", "best_FL_global_model.pt") - elif item["name"] == "clara_pt_self_supervised_learning_segmentation": - default_model_file = os.path.join("models_2gpu", "best_metric_model.pt") else: default_model_file = None pretrained_model = load_from_mmar( From 625ec096bf59dd85459fc9d012c14847d3148447 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 8 Apr 2022 07:27:45 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/ngc_mmar_loading.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ngc_mmar_loading.py b/tests/ngc_mmar_loading.py index b8f53b7552..4b35df1cf8 100644 --- a/tests/ngc_mmar_loading.py +++ b/tests/ngc_mmar_loading.py @@ -40,7 +40,7 @@ def test_loading_mmar(self, item): ) pretrained_weights = {k.split(".", 1)[1]: v for k, v in pretrained_weights["state_dict"].items()} sys.path.append(os.path.join(f"{item['name']}", "custom")) # custom model folder - from vit_network import ViTAutoEnc # noqa + from vit_network import ViTAutoEnc model = ViTAutoEnc( in_channels=1, From d9418a72b45fbfaad84c461bcef4dda742e28a40 Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Fri, 8 Apr 2022 08:38:09 +0100 Subject: [PATCH 3/3] fixes pylint error Signed-off-by: Wenqi Li --- tests/ngc_mmar_loading.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ngc_mmar_loading.py b/tests/ngc_mmar_loading.py index 4b35df1cf8..4bb89dde0e 100644 --- a/tests/ngc_mmar_loading.py +++ b/tests/ngc_mmar_loading.py @@ -40,7 +40,7 @@ def test_loading_mmar(self, item): ) pretrained_weights = {k.split(".", 1)[1]: v for k, v in pretrained_weights["state_dict"].items()} sys.path.append(os.path.join(f"{item['name']}", "custom")) # custom model folder - from vit_network import ViTAutoEnc + from vit_network import ViTAutoEnc # pylint: disable=E0401 model = ViTAutoEnc( in_channels=1,