diff --git a/src/sagemaker/fw_utils.py b/src/sagemaker/fw_utils.py index 8cf0f97981..bb5190cef2 100644 --- a/src/sagemaker/fw_utils.py +++ b/src/sagemaker/fw_utils.py @@ -75,6 +75,8 @@ "2.6.0", "2.6.2", "2.6.3", + "2.7", + "2.7.1", "2.8", "2.8.0", ], diff --git a/src/sagemaker/image_uri_config/tensorflow.json b/src/sagemaker/image_uri_config/tensorflow.json index 4e8226adf8..2701f8e89a 100644 --- a/src/sagemaker/image_uri_config/tensorflow.json +++ b/src/sagemaker/image_uri_config/tensorflow.json @@ -280,6 +280,7 @@ "2.4": "2.4.3", "2.5": "2.5.1", "2.6": "2.6.3", + "2.7": "2.7.0", "2.8": "2.8.0" }, "versions": { @@ -1375,6 +1376,36 @@ }, "repository": "tensorflow-inference" }, + "2.7.0": { + "registries": { + "af-south-1": "626614931356", + "ap-east-1": "871362719292", + "ap-northeast-1": "763104351884", + "ap-northeast-2": "763104351884", + "ap-northeast-3": "364406365360", + "ap-south-1": "763104351884", + "ap-southeast-1": "763104351884", + "ap-southeast-2": "763104351884", + "ca-central-1": "763104351884", + "cn-north-1": "727897471807", + "cn-northwest-1": "727897471807", + "eu-central-1": "763104351884", + "eu-north-1": "763104351884", + "eu-south-1": "692866216735", + "eu-west-1": "763104351884", + "eu-west-2": "763104351884", + "eu-west-3": "763104351884", + "me-south-1": "217643126080", + "sa-east-1": "763104351884", + "us-east-1": "763104351884", + "us-east-2": "763104351884", + "us-gov-west-1": "442386744353", + "us-iso-east-1": "886529160074", + "us-west-1": "763104351884", + "us-west-2": "763104351884" + }, + "repository": "tensorflow-inference" + }, "2.8.0": { "registries": { "af-south-1": "626614931356", @@ -1432,6 +1463,7 @@ "2.4": "2.4.3", "2.5": "2.5.1", "2.6": "2.6.3", + "2.7": "2.7.1", "2.8": "2.8.0" }, "versions": { @@ -2725,6 +2757,39 @@ }, "repository": "tensorflow-training" }, + "2.7.1": { + "py_versions": [ + "py38" + ], + "registries": { + "af-south-1": "626614931356", + "ap-east-1": "871362719292", + "ap-northeast-1": "763104351884", + "ap-northeast-2": "763104351884", + "ap-northeast-3": "364406365360", + "ap-south-1": "763104351884", + "ap-southeast-1": "763104351884", + "ap-southeast-2": "763104351884", + "ca-central-1": "763104351884", + "cn-north-1": "727897471807", + "cn-northwest-1": "727897471807", + "eu-central-1": "763104351884", + "eu-north-1": "763104351884", + "eu-south-1": "692866216735", + "eu-west-1": "763104351884", + "eu-west-2": "763104351884", + "eu-west-3": "763104351884", + "me-south-1": "217643126080", + "sa-east-1": "763104351884", + "us-east-1": "763104351884", + "us-east-2": "763104351884", + "us-gov-west-1": "442386744353", + "us-iso-east-1": "886529160074", + "us-west-1": "763104351884", + "us-west-2": "763104351884" + }, + "repository": "tensorflow-training" + }, "2.8.0": { "py_versions": [ "py39" diff --git a/tests/integ/test_tf.py b/tests/integ/test_tf.py index ffb16949c8..2ec70a097f 100644 --- a/tests/integ/test_tf.py +++ b/tests/integ/test_tf.py @@ -219,6 +219,9 @@ def test_mnist_distributed( @pytest.mark.slow_test def test_mnist_async(sagemaker_session, cpu_instance_type, tf_full_version, tf_full_py_version): + if tf_full_version == "2.7.0": + tf_full_version = "2.7" + estimator = TensorFlow( entry_point=SCRIPT, source_dir=MNIST_RESOURCE_PATH, diff --git a/tests/unit/test_fw_utils.py b/tests/unit/test_fw_utils.py index 26b3908186..f1ffabef5e 100644 --- a/tests/unit/test_fw_utils.py +++ b/tests/unit/test_fw_utils.py @@ -687,6 +687,8 @@ def test_validate_smdataparallel_args_not_raises(): ("ml.p3.16xlarge", "tensorflow", "2.6.2", "py38", smdataparallel_enabled), ("ml.p3.16xlarge", "tensorflow", "2.6.3", "py38", smdataparallel_enabled), ("ml.p3.16xlarge", "tensorflow", "2.6", "py38", smdataparallel_enabled), + ("ml.p3.16xlarge", "tensorflow", "2.7.1", "py38", smdataparallel_enabled), + ("ml.p3.16xlarge", "tensorflow", "2.7", "py38", smdataparallel_enabled), ("ml.p3.16xlarge", "tensorflow", "2.8.0", "py39", smdataparallel_enabled), ("ml.p3.16xlarge", "tensorflow", "2.8", "py39", smdataparallel_enabled), ("ml.p3.16xlarge", "pytorch", "1.6.0", "py3", smdataparallel_enabled), @@ -707,6 +709,7 @@ def test_validate_smdataparallel_args_not_raises(): ("ml.p3.16xlarge", "tensorflow", "2.6.0", "py38", smdataparallel_enabled_custom_mpi), ("ml.p3.16xlarge", "tensorflow", "2.6.2", "py38", smdataparallel_enabled_custom_mpi), ("ml.p3.16xlarge", "tensorflow", "2.6.3", "py38", smdataparallel_enabled_custom_mpi), + ("ml.p3.16xlarge", "tensorflow", "2.7.1", "py38", smdataparallel_enabled_custom_mpi), ("ml.p3.16xlarge", "tensorflow", "2.8.0", "py39", smdataparallel_enabled_custom_mpi), ("ml.p3.16xlarge", "pytorch", "1.8.0", "py3", smdataparallel_enabled_custom_mpi), ("ml.p3.16xlarge", "pytorch", "1.9.1", "py38", smdataparallel_enabled_custom_mpi),