From ea5479324947f5748aeb47c551dc13e2565fcd4e Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 9 Mar 2022 12:42:22 -0800 Subject: [PATCH 01/15] update TF242 ioc support --- src/sagemaker/image_uri_config/neo-tensorflow.json | 3 +++ src/sagemaker/model.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sagemaker/image_uri_config/neo-tensorflow.json b/src/sagemaker/image_uri_config/neo-tensorflow.json index 8fe391b43d..3c76bd68ac 100644 --- a/src/sagemaker/image_uri_config/neo-tensorflow.json +++ b/src/sagemaker/image_uri_config/neo-tensorflow.json @@ -13,6 +13,9 @@ "1.12.0": "1.15.3", "1.13.0": "1.15.3", "1.14.0": "1.15.3", + "2.4": "2.4.2", + "2.4.0": "2.4.2", + "2.4.1": "2.4.2", "2.4.2": "2.4.2" }, "versions": { diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 3fef757263..955e8fe22e 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -620,7 +620,7 @@ def _compilation_job_config( } if ( - framework.lower() == "pytorch" + framework.lower() == "pytorch" or framework.lower() == "tensorflow" and re.match("(?=^ml_)(?!ml_inf)", target_instance_type) is not None and framework_version is not None ): From 5ca8c57b56c9f82ff59f7f6089d40ca0308e40c7 Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 9 Mar 2022 13:01:41 -0800 Subject: [PATCH 02/15] lint --- src/sagemaker/model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 955e8fe22e..4fd479212d 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -620,7 +620,8 @@ def _compilation_job_config( } if ( - framework.lower() == "pytorch" or framework.lower() == "tensorflow" + framework.lower() == "pytorch" + or framework.lower() == "tensorflow" and re.match("(?=^ml_)(?!ml_inf)", target_instance_type) is not None and framework_version is not None ): From 7330099af817c37a86b62d4d5ddd605ffe1faaa2 Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Mon, 14 Mar 2022 11:18:37 -0700 Subject: [PATCH 03/15] trigger test --- src/sagemaker/image_uri_config/neo-tensorflow.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sagemaker/image_uri_config/neo-tensorflow.json b/src/sagemaker/image_uri_config/neo-tensorflow.json index 3c76bd68ac..1f90c7ab2c 100644 --- a/src/sagemaker/image_uri_config/neo-tensorflow.json +++ b/src/sagemaker/image_uri_config/neo-tensorflow.json @@ -81,3 +81,4 @@ } } } + From 076f6f96924987f9c55e7b4f424c10c687be4040 Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Mon, 14 Mar 2022 11:18:48 -0700 Subject: [PATCH 04/15] revert trigger test --- src/sagemaker/image_uri_config/neo-tensorflow.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sagemaker/image_uri_config/neo-tensorflow.json b/src/sagemaker/image_uri_config/neo-tensorflow.json index 1f90c7ab2c..3c76bd68ac 100644 --- a/src/sagemaker/image_uri_config/neo-tensorflow.json +++ b/src/sagemaker/image_uri_config/neo-tensorflow.json @@ -81,4 +81,3 @@ } } } - From ede040a44996d4b14967316ebbdb4f6e5350d8b6 Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Tue, 15 Mar 2022 10:25:55 -0700 Subject: [PATCH 05/15] trigger test --- src/sagemaker/image_uri_config/neo-tensorflow.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sagemaker/image_uri_config/neo-tensorflow.json b/src/sagemaker/image_uri_config/neo-tensorflow.json index 3c76bd68ac..1f90c7ab2c 100644 --- a/src/sagemaker/image_uri_config/neo-tensorflow.json +++ b/src/sagemaker/image_uri_config/neo-tensorflow.json @@ -81,3 +81,4 @@ } } } + From 656f960293e82882d8ebbfebe64861c8949629cb Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Tue, 15 Mar 2022 10:26:08 -0700 Subject: [PATCH 06/15] revert trigger test --- src/sagemaker/image_uri_config/neo-tensorflow.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sagemaker/image_uri_config/neo-tensorflow.json b/src/sagemaker/image_uri_config/neo-tensorflow.json index 1f90c7ab2c..3c76bd68ac 100644 --- a/src/sagemaker/image_uri_config/neo-tensorflow.json +++ b/src/sagemaker/image_uri_config/neo-tensorflow.json @@ -81,4 +81,3 @@ } } } - From 34af8a84e330eae8571fc885e5f9a5ac844c2cdd Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 10:01:00 -0700 Subject: [PATCH 07/15] update test framework version --- tests/unit/sagemaker/model/test_neo.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/unit/sagemaker/model/test_neo.py b/tests/unit/sagemaker/model/test_neo.py index 2357c771f9..5e19d5203d 100644 --- a/tests/unit/sagemaker/model/test_neo.py +++ b/tests/unit/sagemaker/model/test_neo.py @@ -103,6 +103,7 @@ def test_compile_model_linux_arm64_nvidia(sagemaker_session): output_path="s3://output", role="role", framework="tensorflow", + framework_version="1.15.3", job_name="compile-model", target_platform_os="LINUX", target_platform_arch="ARM64", @@ -123,6 +124,7 @@ def test_compile_model_android_armv7(sagemaker_session): output_path="s3://output", role="role", framework="tensorflow", + framework_version="1.15.3", job_name="compile-model", target_platform_os="ANDROID", target_platform_arch="ARM_EABI", From 223d4deabcd10aed5a27bbd74949c270c8ab22c0 Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 10:53:50 -0700 Subject: [PATCH 08/15] update --- src/sagemaker/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 4fd479212d..cebc207a55 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -622,7 +622,7 @@ def _compilation_job_config( if ( framework.lower() == "pytorch" or framework.lower() == "tensorflow" - and re.match("(?=^ml_)(?!ml_inf)", target_instance_type) is not None + and re.match("(?=^ml_)(?!ml_inf)", str(target_instance_type)) is not None and framework_version is not None ): input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) From 5657fd492f0550ec88f857d672f5cc953a1ffdea Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 11:20:53 -0700 Subject: [PATCH 09/15] revert previous change --- src/sagemaker/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index cebc207a55..4fd479212d 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -622,7 +622,7 @@ def _compilation_job_config( if ( framework.lower() == "pytorch" or framework.lower() == "tensorflow" - and re.match("(?=^ml_)(?!ml_inf)", str(target_instance_type)) is not None + and re.match("(?=^ml_)(?!ml_inf)", target_instance_type) is not None and framework_version is not None ): input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) From fac621ab59be3914222dcd03f4dc9eddd81755da Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 11:26:35 -0700 Subject: [PATCH 10/15] update --- src/sagemaker/model.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 4fd479212d..700f8adf65 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -621,12 +621,14 @@ def _compilation_job_config( if ( framework.lower() == "pytorch" - or framework.lower() == "tensorflow" and re.match("(?=^ml_)(?!ml_inf)", target_instance_type) is not None and framework_version is not None ): input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) + if framework.lower() == "tensorflow": + input_model_config["FrameworkVersion"] = framework_version + role = self.sagemaker_session.expand_role(role) output_model_config = { "S3OutputLocation": output_path, From 5affbb4f792f9eca621c931e4ab741c6d6612924 Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 13:58:59 -0700 Subject: [PATCH 11/15] update --- src/sagemaker/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 700f8adf65..179b8988e1 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -627,7 +627,7 @@ def _compilation_job_config( input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) if framework.lower() == "tensorflow": - input_model_config["FrameworkVersion"] = framework_version + input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) role = self.sagemaker_session.expand_role(role) output_model_config = { From 49dc59fe89cf032762a38235dd919251bbd87e9f Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 15:37:31 -0700 Subject: [PATCH 12/15] update --- src/sagemaker/model.py | 7 +++++-- tests/unit/sagemaker/model/test_neo.py | 2 -- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 179b8988e1..34dd07db26 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -626,8 +626,11 @@ def _compilation_job_config( ): input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) - if framework.lower() == "tensorflow": - input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) + if ( + framework.lower() == "tensorflow" + and framework_version is not None + ): + input_model_config["FrameworkVersion"] = framework_version role = self.sagemaker_session.expand_role(role) output_model_config = { diff --git a/tests/unit/sagemaker/model/test_neo.py b/tests/unit/sagemaker/model/test_neo.py index 5e19d5203d..2357c771f9 100644 --- a/tests/unit/sagemaker/model/test_neo.py +++ b/tests/unit/sagemaker/model/test_neo.py @@ -103,7 +103,6 @@ def test_compile_model_linux_arm64_nvidia(sagemaker_session): output_path="s3://output", role="role", framework="tensorflow", - framework_version="1.15.3", job_name="compile-model", target_platform_os="LINUX", target_platform_arch="ARM64", @@ -124,7 +123,6 @@ def test_compile_model_android_armv7(sagemaker_session): output_path="s3://output", role="role", framework="tensorflow", - framework_version="1.15.3", job_name="compile-model", target_platform_os="ANDROID", target_platform_arch="ARM_EABI", From b9d0e27872485c63a9c04a57dde1a2231885991d Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 16:09:28 -0700 Subject: [PATCH 13/15] format --- src/sagemaker/model.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 34dd07db26..20dbec3d18 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -626,10 +626,7 @@ def _compilation_job_config( ): input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) - if ( - framework.lower() == "tensorflow" - and framework_version is not None - ): + if framework.lower() == "tensorflow" and framework_version is not None: input_model_config["FrameworkVersion"] = framework_version role = self.sagemaker_session.expand_role(role) From 565af7c2cf87be370278a5b770eef027a7efb77a Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 16:33:18 -0700 Subject: [PATCH 14/15] update --- src/sagemaker/model.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 20dbec3d18..14b61d8be6 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -620,15 +620,13 @@ def _compilation_job_config( } if ( - framework.lower() == "pytorch" + framework.lower() == "pytorch" or framework.lower() == "tensorflow" + and target_instance_type is not None and re.match("(?=^ml_)(?!ml_inf)", target_instance_type) is not None and framework_version is not None ): input_model_config["FrameworkVersion"] = utils.get_short_version(framework_version) - if framework.lower() == "tensorflow" and framework_version is not None: - input_model_config["FrameworkVersion"] = framework_version - role = self.sagemaker_session.expand_role(role) output_model_config = { "S3OutputLocation": output_path, From a496a7a1067bdd6525b391d7dd63ee2309686ed4 Mon Sep 17 00:00:00 2001 From: Qingzi-Lan Date: Wed, 16 Mar 2022 16:34:19 -0700 Subject: [PATCH 15/15] format --- src/sagemaker/model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sagemaker/model.py b/src/sagemaker/model.py index 14b61d8be6..853035e2a9 100644 --- a/src/sagemaker/model.py +++ b/src/sagemaker/model.py @@ -620,7 +620,8 @@ def _compilation_job_config( } if ( - framework.lower() == "pytorch" or framework.lower() == "tensorflow" + framework.lower() == "pytorch" + or framework.lower() == "tensorflow" and target_instance_type is not None and re.match("(?=^ml_)(?!ml_inf)", target_instance_type) is not None and framework_version is not None