From bd918eb039b90e03d62e85eddc126c76a6523049 Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Fri, 8 Sep 2023 22:54:58 +0800 Subject: [PATCH 01/13] fix #6953 Signed-off-by: KumoLiu --- monai/bundle/scripts.py | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index cbd6447657..ad064a1ecd 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1191,10 +1191,10 @@ def onnx_export( def ckpt_export( - net_id: str | None = None, - filepath: PathLike | None = None, - ckpt_file: str | None = None, - meta_file: str | Sequence[str] | None = None, + net_id: str | None = "network_def", + filepath: PathLike | None = "models/model.ts", + ckpt_file: str | None = "models/model.pt", + meta_file: str | Sequence[str] | None = "configs/metadata.json", config_file: str | Sequence[str] | None = None, key_in_ckpt: str | None = None, use_trace: bool | None = None, @@ -1250,9 +1250,10 @@ def ckpt_export( ) _log_input_summary(tag="ckpt_export", args=_args) ( + config_file_, filepath_, ckpt_file_, - config_file_, + bundle_root_, net_id_, meta_file_, key_in_ckpt_, @@ -1261,11 +1262,12 @@ def ckpt_export( converter_kwargs_, ) = _pop_args( _args, - "filepath", - "ckpt_file", "config_file", - net_id="", - meta_file=None, + filepath="models/model.ts", + ckpt_file="models/model.pt", + bundle_root=os.getcwd(), + net_id="network_def", + meta_file="configs/metadata.json", key_in_ckpt="", use_trace=False, input_shape=None, @@ -1275,9 +1277,22 @@ def ckpt_export( parser = ConfigParser() parser.read_config(f=config_file_) - if meta_file_ is not None: + meta_file_ = ( + os.path.join(bundle_root_, "configs/metadata.json") if meta_file_ == "configs/metadata.json" else meta_file_ + ) + filepath_ = os.path.join(bundle_root_, "models/model.ts") if filepath_ == "models/model.ts" else filepath_ + ckpt_file_ = os.path.join(bundle_root_, "models/model.pt") if ckpt_file_ == "models/model.pt" else ckpt_file_ + if not os.path.exists(ckpt_file_): + raise FileNotFoundError(f"ckpt_file in {ckpt_file_} does not exist, please specify it.") + if os.path.exists(meta_file_): parser.read_meta(f=meta_file_) + if net_id_ == "network_def": + try: + parser.get_parsed_content(net_id_) + except ValueError as e: + raise ValueError(f"Default net_id: network_def in {config_file_} does not exist. {e}") + # the rest key-values in the _args are to override config content for k, v in _args.items(): parser[k] = v From 28849288ea9fefe70cd7316ea35240c1a6603fe3 Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 17:50:21 +0800 Subject: [PATCH 02/13] minor fix Signed-off-by: KumoLiu --- monai/bundle/scripts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index ad064a1ecd..6c26adafa2 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1291,7 +1291,7 @@ def ckpt_export( try: parser.get_parsed_content(net_id_) except ValueError as e: - raise ValueError(f"Default net_id: network_def in {config_file_} does not exist. {e}") + raise ValueError(f"Default net_id: network_def in {config_file_} does not exist.") from e # the rest key-values in the _args are to override config content for k, v in _args.items(): From cf415b0905e33ed4af23c36f109c2fde15c85917 Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 18:12:57 +0800 Subject: [PATCH 03/13] add unittests Signed-off-by: KumoLiu --- tests/test_bundle_ckpt_export.py | 53 +++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/tests/test_bundle_ckpt_export.py b/tests/test_bundle_ckpt_export.py index 812bc07f38..5f452cb5ab 100644 --- a/tests/test_bundle_ckpt_export.py +++ b/tests/test_bundle_ckpt_export.py @@ -43,16 +43,46 @@ def tearDown(self): else: del os.environ["CUDA_VISIBLE_DEVICES"] # previously unset + # @parameterized.expand([TEST_CASE_1, TEST_CASE_2, TEST_CASE_3]) + # def test_export(self, key_in_ckpt, use_trace): + # meta_file = os.path.join(os.path.dirname(__file__), "testing_data", "metadata.json") + # config_file = os.path.join(os.path.dirname(__file__), "testing_data", "inference.json") + # with tempfile.TemporaryDirectory() as tempdir: + # def_args = {"meta_file": "will be replaced by `meta_file` arg"} + # def_args_file = os.path.join(tempdir, "def_args.yaml") + + # ckpt_file = os.path.join(tempdir, "model.pt") + # ts_file = os.path.join(tempdir, "model.ts") + + # parser = ConfigParser() + # parser.export_config_file(config=def_args, filepath=def_args_file) + # parser.read_config(config_file) + # net = parser.get_parsed_content("network_def") + # save_state(src=net if key_in_ckpt == "" else {key_in_ckpt: net}, path=ckpt_file) + + # cmd = ["coverage", "run", "-m", "monai.bundle", "ckpt_export", "network_def", "--filepath", ts_file] + # cmd += ["--meta_file", meta_file, "--config_file", f"['{config_file}','{def_args_file}']", "--ckpt_file"] + # cmd += [ckpt_file, "--key_in_ckpt", key_in_ckpt, "--args_file", def_args_file] + # if use_trace == "True": + # cmd += ["--use_trace", use_trace, "--input_shape", "[1, 1, 96, 96, 96]"] + # command_line_tests(cmd) + # self.assertTrue(os.path.exists(ts_file)) + + # _, metadata, extra_files = load_net_with_metadata( + # ts_file, more_extra_files=["inference.json", "def_args.json"] + # ) + # self.assertTrue("schema" in metadata) + # self.assertTrue("meta_file" in json.loads(extra_files["def_args.json"])) + # self.assertTrue("network_def" in json.loads(extra_files["inference.json"])) + @parameterized.expand([TEST_CASE_1, TEST_CASE_2, TEST_CASE_3]) - def test_export(self, key_in_ckpt, use_trace): - meta_file = os.path.join(os.path.dirname(__file__), "testing_data", "metadata.json") + def test_default_value(self, key_in_ckpt, use_trace): config_file = os.path.join(os.path.dirname(__file__), "testing_data", "inference.json") with tempfile.TemporaryDirectory() as tempdir: def_args = {"meta_file": "will be replaced by `meta_file` arg"} def_args_file = os.path.join(tempdir, "def_args.yaml") - - ckpt_file = os.path.join(tempdir, "model.pt") - ts_file = os.path.join(tempdir, "model.ts") + ckpt_file = os.path.join(tempdir, "models/model.pt") + ts_file = os.path.join(tempdir, "models/model.ts") parser = ConfigParser() parser.export_config_file(config=def_args, filepath=def_args_file) @@ -60,21 +90,14 @@ def test_export(self, key_in_ckpt, use_trace): net = parser.get_parsed_content("network_def") save_state(src=net if key_in_ckpt == "" else {key_in_ckpt: net}, path=ckpt_file) - cmd = ["coverage", "run", "-m", "monai.bundle", "ckpt_export", "network_def", "--filepath", ts_file] - cmd += ["--meta_file", meta_file, "--config_file", f"['{config_file}','{def_args_file}']", "--ckpt_file"] - cmd += [ckpt_file, "--key_in_ckpt", key_in_ckpt, "--args_file", def_args_file] + # check with default value + cmd = ["coverage", "run", "-m", "monai.bundle", "ckpt_export", "--key_in_ckpt", key_in_ckpt] + cmd += ["--config_file", config_file, "--bundle_root", tempdir] if use_trace == "True": cmd += ["--use_trace", use_trace, "--input_shape", "[1, 1, 96, 96, 96]"] command_line_tests(cmd) self.assertTrue(os.path.exists(ts_file)) - _, metadata, extra_files = load_net_with_metadata( - ts_file, more_extra_files=["inference.json", "def_args.json"] - ) - self.assertTrue("schema" in metadata) - self.assertTrue("meta_file" in json.loads(extra_files["def_args.json"])) - self.assertTrue("network_def" in json.loads(extra_files["inference.json"])) - if __name__ == "__main__": unittest.main() From 0bf4acb15353b468492f42293a5ce1a21e4cf498 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 10:14:12 +0000 Subject: [PATCH 04/13] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/test_bundle_ckpt_export.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/test_bundle_ckpt_export.py b/tests/test_bundle_ckpt_export.py index 5f452cb5ab..8746674e6a 100644 --- a/tests/test_bundle_ckpt_export.py +++ b/tests/test_bundle_ckpt_export.py @@ -11,7 +11,6 @@ from __future__ import annotations -import json import os import tempfile import unittest @@ -19,7 +18,6 @@ from parameterized import parameterized from monai.bundle import ConfigParser -from monai.data import load_net_with_metadata from monai.networks import save_state from tests.utils import command_line_tests, skip_if_windows From abd83e1b5b8023b37336799352b0d6f98faf4822 Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 18:27:00 +0800 Subject: [PATCH 05/13] update docstring Signed-off-by: KumoLiu --- monai/bundle/scripts.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index 39a9f30236..32bf02ff66 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1214,9 +1214,13 @@ def ckpt_export( Args: net_id: ID name of the network component in the config, it must be `torch.nn.Module`. + Default to "network_def". filepath: filepath to export, if filename has no extension it becomes `.ts`. + Default to "models/model.ts" under "os.getcwd()" if `bundle_root` is not specified. ckpt_file: filepath of the model checkpoint to load. + Default to "models/model.pt" under "os.getcwd()" if `bundle_root` is not specified. meta_file: filepath of the metadata file, if it is a list of file paths, the content of them will be merged. + Default to "configs/metadata.json" under "os.getcwd()" if `bundle_root` is not specified. config_file: filepath of the config file to save in TorchScript model and extract network information, the saved key in the TorchScript model is the config filename without extension, and the saved config value is always serialized in JSON format no matter the original file format is JSON or YAML. @@ -1278,10 +1282,10 @@ def ckpt_export( parser.read_config(f=config_file_) meta_file_ = ( - os.path.join(bundle_root_, "configs/metadata.json") if meta_file_ == "configs/metadata.json" else meta_file_ + os.path.join(bundle_root_, "configs", "metadata.json") if meta_file_ == "configs/metadata.json" else meta_file_ ) - filepath_ = os.path.join(bundle_root_, "models/model.ts") if filepath_ == "models/model.ts" else filepath_ - ckpt_file_ = os.path.join(bundle_root_, "models/model.pt") if ckpt_file_ == "models/model.pt" else ckpt_file_ + filepath_ = os.path.join(bundle_root_, "models", "model.ts") if filepath_ == "models/model.ts" else filepath_ + ckpt_file_ = os.path.join(bundle_root_, "models", "model.pt") if ckpt_file_ == "models/model.pt" else ckpt_file_ if not os.path.exists(ckpt_file_): raise FileNotFoundError(f"ckpt_file in {ckpt_file_} does not exist, please specify it.") if os.path.exists(meta_file_): From 5eefa2c5b66beb29f6cf9d44689af42f13c0e22f Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 18:29:42 +0800 Subject: [PATCH 06/13] update unittests Signed-off-by: KumoLiu --- tests/test_bundle_ckpt_export.py | 62 ++++++++++++++++---------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/test_bundle_ckpt_export.py b/tests/test_bundle_ckpt_export.py index 8746674e6a..c1d465891a 100644 --- a/tests/test_bundle_ckpt_export.py +++ b/tests/test_bundle_ckpt_export.py @@ -41,37 +41,37 @@ def tearDown(self): else: del os.environ["CUDA_VISIBLE_DEVICES"] # previously unset - # @parameterized.expand([TEST_CASE_1, TEST_CASE_2, TEST_CASE_3]) - # def test_export(self, key_in_ckpt, use_trace): - # meta_file = os.path.join(os.path.dirname(__file__), "testing_data", "metadata.json") - # config_file = os.path.join(os.path.dirname(__file__), "testing_data", "inference.json") - # with tempfile.TemporaryDirectory() as tempdir: - # def_args = {"meta_file": "will be replaced by `meta_file` arg"} - # def_args_file = os.path.join(tempdir, "def_args.yaml") - - # ckpt_file = os.path.join(tempdir, "model.pt") - # ts_file = os.path.join(tempdir, "model.ts") - - # parser = ConfigParser() - # parser.export_config_file(config=def_args, filepath=def_args_file) - # parser.read_config(config_file) - # net = parser.get_parsed_content("network_def") - # save_state(src=net if key_in_ckpt == "" else {key_in_ckpt: net}, path=ckpt_file) - - # cmd = ["coverage", "run", "-m", "monai.bundle", "ckpt_export", "network_def", "--filepath", ts_file] - # cmd += ["--meta_file", meta_file, "--config_file", f"['{config_file}','{def_args_file}']", "--ckpt_file"] - # cmd += [ckpt_file, "--key_in_ckpt", key_in_ckpt, "--args_file", def_args_file] - # if use_trace == "True": - # cmd += ["--use_trace", use_trace, "--input_shape", "[1, 1, 96, 96, 96]"] - # command_line_tests(cmd) - # self.assertTrue(os.path.exists(ts_file)) - - # _, metadata, extra_files = load_net_with_metadata( - # ts_file, more_extra_files=["inference.json", "def_args.json"] - # ) - # self.assertTrue("schema" in metadata) - # self.assertTrue("meta_file" in json.loads(extra_files["def_args.json"])) - # self.assertTrue("network_def" in json.loads(extra_files["inference.json"])) + @parameterized.expand([TEST_CASE_1, TEST_CASE_2, TEST_CASE_3]) + def test_export(self, key_in_ckpt, use_trace): + meta_file = os.path.join(os.path.dirname(__file__), "testing_data", "metadata.json") + config_file = os.path.join(os.path.dirname(__file__), "testing_data", "inference.json") + with tempfile.TemporaryDirectory() as tempdir: + def_args = {"meta_file": "will be replaced by `meta_file` arg"} + def_args_file = os.path.join(tempdir, "def_args.yaml") + + ckpt_file = os.path.join(tempdir, "model.pt") + ts_file = os.path.join(tempdir, "model.ts") + + parser = ConfigParser() + parser.export_config_file(config=def_args, filepath=def_args_file) + parser.read_config(config_file) + net = parser.get_parsed_content("network_def") + save_state(src=net if key_in_ckpt == "" else {key_in_ckpt: net}, path=ckpt_file) + + cmd = ["coverage", "run", "-m", "monai.bundle", "ckpt_export", "network_def", "--filepath", ts_file] + cmd += ["--meta_file", meta_file, "--config_file", f"['{config_file}','{def_args_file}']", "--ckpt_file"] + cmd += [ckpt_file, "--key_in_ckpt", key_in_ckpt, "--args_file", def_args_file] + if use_trace == "True": + cmd += ["--use_trace", use_trace, "--input_shape", "[1, 1, 96, 96, 96]"] + command_line_tests(cmd) + self.assertTrue(os.path.exists(ts_file)) + + _, metadata, extra_files = load_net_with_metadata( + ts_file, more_extra_files=["inference.json", "def_args.json"] + ) + self.assertTrue("schema" in metadata) + self.assertTrue("meta_file" in json.loads(extra_files["def_args.json"])) + self.assertTrue("network_def" in json.loads(extra_files["inference.json"])) @parameterized.expand([TEST_CASE_1, TEST_CASE_2, TEST_CASE_3]) def test_default_value(self, key_in_ckpt, use_trace): From feecd1f89e7ff706db40b7275c48d923fdecae86 Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 18:32:25 +0800 Subject: [PATCH 07/13] minor fix Signed-off-by: KumoLiu --- tests/test_bundle_ckpt_export.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_bundle_ckpt_export.py b/tests/test_bundle_ckpt_export.py index c1d465891a..cbc5af878f 100644 --- a/tests/test_bundle_ckpt_export.py +++ b/tests/test_bundle_ckpt_export.py @@ -12,12 +12,14 @@ from __future__ import annotations import os +import json import tempfile import unittest from parameterized import parameterized from monai.bundle import ConfigParser +from monai.data import load_net_with_metadata from monai.networks import save_state from tests.utils import command_line_tests, skip_if_windows From f2727780617f85511f11115adc2291054651c677 Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 18:38:42 +0800 Subject: [PATCH 08/13] fix flake8 Signed-off-by: KumoLiu --- tests/test_bundle_ckpt_export.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_bundle_ckpt_export.py b/tests/test_bundle_ckpt_export.py index cbc5af878f..d9b3bedab2 100644 --- a/tests/test_bundle_ckpt_export.py +++ b/tests/test_bundle_ckpt_export.py @@ -11,8 +11,8 @@ from __future__ import annotations -import os import json +import os import tempfile import unittest From 1f5a26e79f36a90ad6845cdab78bc33e2d8e7ebc Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 20:08:13 +0800 Subject: [PATCH 09/13] address comments Signed-off-by: KumoLiu --- monai/bundle/scripts.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index 32bf02ff66..244f20f935 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1192,9 +1192,9 @@ def onnx_export( def ckpt_export( net_id: str | None = "network_def", - filepath: PathLike | None = "models/model.ts", - ckpt_file: str | None = "models/model.pt", - meta_file: str | Sequence[str] | None = "configs/metadata.json", + filepath: PathLike | None = None, + ckpt_file: str | None = None, + meta_file: str | Sequence[str] | None = None, config_file: str | Sequence[str] | None = None, key_in_ckpt: str | None = None, use_trace: bool | None = None, @@ -1267,11 +1267,11 @@ def ckpt_export( ) = _pop_args( _args, "config_file", - filepath="models/model.ts", - ckpt_file="models/model.pt", + filepath=None, + ckpt_file=None, bundle_root=os.getcwd(), net_id="network_def", - meta_file="configs/metadata.json", + meta_file=None, key_in_ckpt="", use_trace=False, input_shape=None, @@ -1282,10 +1282,10 @@ def ckpt_export( parser.read_config(f=config_file_) meta_file_ = ( - os.path.join(bundle_root_, "configs", "metadata.json") if meta_file_ == "configs/metadata.json" else meta_file_ + os.path.join(bundle_root_, "configs", "metadata.json") if meta_file_ is None else meta_file_ ) - filepath_ = os.path.join(bundle_root_, "models", "model.ts") if filepath_ == "models/model.ts" else filepath_ - ckpt_file_ = os.path.join(bundle_root_, "models", "model.pt") if ckpt_file_ == "models/model.pt" else ckpt_file_ + filepath_ = os.path.join(bundle_root_, "models", "model.ts") if filepath_ is None else filepath_ + ckpt_file_ = os.path.join(bundle_root_, "models", "model.pt") if ckpt_file_ is None else ckpt_file_ if not os.path.exists(ckpt_file_): raise FileNotFoundError(f"ckpt_file in {ckpt_file_} does not exist, please specify it.") if os.path.exists(meta_file_): From cb4e63e62b1be0181ffb2b1acece4a9f954e300a Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 20:12:34 +0800 Subject: [PATCH 10/13] address comments Signed-off-by: KumoLiu --- monai/bundle/scripts.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index 244f20f935..00a285b55f 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1191,7 +1191,7 @@ def onnx_export( def ckpt_export( - net_id: str | None = "network_def", + net_id: str | None = None, filepath: PathLike | None = None, ckpt_file: str | None = None, meta_file: str | Sequence[str] | None = None, @@ -1270,7 +1270,7 @@ def ckpt_export( filepath=None, ckpt_file=None, bundle_root=os.getcwd(), - net_id="network_def", + net_id=None, meta_file=None, key_in_ckpt="", use_trace=False, @@ -1291,11 +1291,11 @@ def ckpt_export( if os.path.exists(meta_file_): parser.read_meta(f=meta_file_) - if net_id_ == "network_def": - try: - parser.get_parsed_content(net_id_) - except ValueError as e: - raise ValueError(f"Default net_id: network_def in {config_file_} does not exist.") from e + net_id_ = "network_def" if net_id_ is None else net_id_ + try: + parser.get_parsed_content(net_id_) + except ValueError as e: + raise ValueError(f"net_id: network_def in {config_file_} does not exist.") from e # the rest key-values in the _args are to override config content for k, v in _args.items(): From 39fd68d423eed7a9a28c5b4e8e0f47b9741b1d82 Mon Sep 17 00:00:00 2001 From: YunLiu <55491388+KumoLiu@users.noreply.github.com> Date: Mon, 11 Sep 2023 21:20:28 +0800 Subject: [PATCH 11/13] Update monai/bundle/scripts.py Co-authored-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com> Signed-off-by: YunLiu <55491388+KumoLiu@users.noreply.github.com> --- monai/bundle/scripts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index 00a285b55f..e7172e50d0 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1287,7 +1287,7 @@ def ckpt_export( filepath_ = os.path.join(bundle_root_, "models", "model.ts") if filepath_ is None else filepath_ ckpt_file_ = os.path.join(bundle_root_, "models", "model.pt") if ckpt_file_ is None else ckpt_file_ if not os.path.exists(ckpt_file_): - raise FileNotFoundError(f"ckpt_file in {ckpt_file_} does not exist, please specify it.") + raise FileNotFoundError(f'Checkpoint file "{ckpt_file_}" not found, please specify it in argument "ckpt_file".') if os.path.exists(meta_file_): parser.read_meta(f=meta_file_) From d8214982f0c567d2421f3a8f4e3a9fe9854df1ce Mon Sep 17 00:00:00 2001 From: YunLiu <55491388+KumoLiu@users.noreply.github.com> Date: Mon, 11 Sep 2023 21:20:44 +0800 Subject: [PATCH 12/13] Update monai/bundle/scripts.py Co-authored-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com> Signed-off-by: YunLiu <55491388+KumoLiu@users.noreply.github.com> --- monai/bundle/scripts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index e7172e50d0..86d93d1179 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1295,7 +1295,7 @@ def ckpt_export( try: parser.get_parsed_content(net_id_) except ValueError as e: - raise ValueError(f"net_id: network_def in {config_file_} does not exist.") from e + raise ValueError(f'Network definition "{net_id_}" cannot be found in "{config_file_}", specify name with argument "net_id".') from e # the rest key-values in the _args are to override config content for k, v in _args.items(): From 4cccaa2d632ea5dd47858ad1d7c2fb0fb3bbf324 Mon Sep 17 00:00:00 2001 From: KumoLiu Date: Mon, 11 Sep 2023 21:22:10 +0800 Subject: [PATCH 13/13] fix flake8 Signed-off-by: KumoLiu --- monai/bundle/scripts.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/monai/bundle/scripts.py b/monai/bundle/scripts.py index 86d93d1179..6b34627a6a 100644 --- a/monai/bundle/scripts.py +++ b/monai/bundle/scripts.py @@ -1281,9 +1281,7 @@ def ckpt_export( parser = ConfigParser() parser.read_config(f=config_file_) - meta_file_ = ( - os.path.join(bundle_root_, "configs", "metadata.json") if meta_file_ is None else meta_file_ - ) + meta_file_ = os.path.join(bundle_root_, "configs", "metadata.json") if meta_file_ is None else meta_file_ filepath_ = os.path.join(bundle_root_, "models", "model.ts") if filepath_ is None else filepath_ ckpt_file_ = os.path.join(bundle_root_, "models", "model.pt") if ckpt_file_ is None else ckpt_file_ if not os.path.exists(ckpt_file_): @@ -1295,7 +1293,9 @@ def ckpt_export( try: parser.get_parsed_content(net_id_) except ValueError as e: - raise ValueError(f'Network definition "{net_id_}" cannot be found in "{config_file_}", specify name with argument "net_id".') from e + raise ValueError( + f'Network definition "{net_id_}" cannot be found in "{config_file_}", specify name with argument "net_id".' + ) from e # the rest key-values in the _args are to override config content for k, v in _args.items():