Skip to content

Commit 255c629

Browse files
committed
fix: py_version issues between tf_full and tf_serving
1 parent b1e59b8 commit 255c629

File tree

4 files changed

+29
-44
lines changed

4 files changed

+29
-44
lines changed

tests/integ/test_data_capture_config.py

+5-10
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
from __future__ import absolute_import
1414

1515
import os
16-
import pytest
1716

1817
import sagemaker
1918
import tests.integ
2019
import tests.integ.timeout
2120
from sagemaker.model_monitor import DataCaptureConfig, NetworkConfig
2221
from sagemaker.tensorflow.model import TensorFlowModel
2322
from sagemaker.utils import unique_name_from_base
23+
from tests.integ import PYTHON_VERSION
2424
from tests.integ.retry import retries
2525

2626
ROLE = "SageMakerRole"
@@ -41,13 +41,8 @@
4141
CUSTOM_JSON_CONTENT_TYPES = ["application/jsontype1", "application/jsontype2"]
4242

4343

44-
@pytest.fixture(scope="module")
45-
def py_version(tf_full_version, tf_serving_version):
46-
return "py37" if tf_full_version == tf_serving_version else tests.integ.PYTHON_VERSION
47-
48-
4944
def test_enabling_data_capture_on_endpoint_shows_correct_data_capture_status(
50-
sagemaker_session, tf_serving_version, py_version
45+
sagemaker_session, tf_serving_version
5146
):
5247
endpoint_name = unique_name_from_base("sagemaker-tensorflow-serving")
5348
model_data = sagemaker_session.upload_data(
@@ -59,7 +54,7 @@ def test_enabling_data_capture_on_endpoint_shows_correct_data_capture_status(
5954
model_data=model_data,
6055
role=ROLE,
6156
framework_version=tf_serving_version,
62-
py_version=py_version,
57+
py_version=PYTHON_VERSION,
6358
sagemaker_session=sagemaker_session,
6459
)
6560
predictor = model.deploy(
@@ -117,7 +112,7 @@ def test_disabling_data_capture_on_endpoint_shows_correct_data_capture_status(
117112
model_data=model_data,
118113
role=ROLE,
119114
framework_version=tf_serving_version,
120-
py_version=py_version,
115+
py_version=PYTHON_VERSION,
121116
sagemaker_session=sagemaker_session,
122117
)
123118
destination_s3_uri = os.path.join(
@@ -204,7 +199,7 @@ def test_updating_data_capture_on_endpoint_shows_correct_data_capture_status(
204199
model_data=model_data,
205200
role=ROLE,
206201
framework_version=tf_serving_version,
207-
py_version=py_version,
202+
py_version=PYTHON_VERSION,
208203
sagemaker_session=sagemaker_session,
209204
)
210205
destination_s3_uri = os.path.join(

tests/integ/test_model_monitor.py

+3-8
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from sagemaker.s3 import S3Uploader
2525
from datetime import datetime, timedelta
2626

27-
from tests.integ import DATA_DIR
27+
from tests.integ import DATA_DIR, PYTHON_VERSION
2828
from sagemaker.model_monitor import DatasetFormat
2929
from sagemaker.model_monitor import NetworkConfig, Statistics, Constraints
3030
from sagemaker.model_monitor import ModelMonitor
@@ -88,12 +88,7 @@
8888

8989

9090
@pytest.fixture(scope="module")
91-
def py_version(tf_full_version, tf_serving_version):
92-
return "py37" if tf_full_version == tf_serving_version else tests.integ.PYTHON_VERSION
93-
94-
95-
@pytest.fixture(scope="module")
96-
def predictor(sagemaker_session, tf_serving_version, py_version):
91+
def predictor(sagemaker_session, tf_serving_version):
9792
endpoint_name = unique_name_from_base("sagemaker-tensorflow-serving")
9893
model_data = sagemaker_session.upload_data(
9994
path=os.path.join(tests.integ.DATA_DIR, "tensorflow-serving-test-model.tar.gz"),
@@ -106,7 +101,7 @@ def predictor(sagemaker_session, tf_serving_version, py_version):
106101
model_data=model_data,
107102
role=ROLE,
108103
framework_version=tf_serving_version,
109-
py_version=py_version,
104+
py_version=PYTHON_VERSION,
110105
sagemaker_session=sagemaker_session,
111106
)
112107
predictor = model.deploy(

tests/integ/test_tf.py

+13-14
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,11 @@
1919
import pytest
2020

2121
from sagemaker.tensorflow import TensorFlow
22-
from sagemaker.tensorflow.defaults import LATEST_SERVING_VERSION
22+
from sagemaker.tensorflow.defaults import LATEST_VERSION, LATEST_SERVING_VERSION
2323
from sagemaker.utils import unique_name_from_base, sagemaker_timestamp
2424

2525
import tests.integ
26-
from tests.integ import timeout
27-
from tests.integ import kms_utils
26+
from tests.integ import kms_utils, timeout, PYTHON_VERSION
2827
from tests.integ.retry import retries
2928
from tests.integ.s3_utils import assert_s3_files_exist
3029

@@ -39,10 +38,12 @@
3938
MPI_DISTRIBUTION = {"mpi": {"enabled": True}}
4039
TAGS = [{"Key": "some-key", "Value": "some-value"}]
4140

41+
PY37_SUPPORTED_FRAMEWORK_VERSION = [TensorFlow._LATEST_1X_VERSION, LATEST_VERSION]
42+
4243

4344
@pytest.fixture(scope="module")
44-
def py_version(tf_full_version, tf_serving_version):
45-
return "py37" if tf_full_version == tf_serving_version else tests.integ.PYTHON_VERSION
45+
def py_version(tf_full_version):
46+
return "py37" if tf_full_version in PY37_SUPPORTED_FRAMEWORK_VERSION else PYTHON_VERSION
4647

4748

4849
def test_mnist_with_checkpoint_config(
@@ -89,7 +90,7 @@ def test_mnist_with_checkpoint_config(
8990
assert actual_training_checkpoint_config == expected_training_checkpoint_config
9091

9192

92-
def test_server_side_encryption(sagemaker_session, tf_serving_version, py_version):
93+
def test_server_side_encryption(sagemaker_session, tf_full_version, py_version):
9394
with kms_utils.bucket_with_encryption(sagemaker_session, ROLE) as (bucket_with_kms, kms_key):
9495
output_path = os.path.join(
9596
bucket_with_kms, "test-server-side-encryption", time.strftime("%y%m%d-%H%M")
@@ -102,7 +103,7 @@ def test_server_side_encryption(sagemaker_session, tf_serving_version, py_versio
102103
train_instance_count=1,
103104
train_instance_type="ml.c5.xlarge",
104105
sagemaker_session=sagemaker_session,
105-
framework_version=tf_serving_version,
106+
framework_version=tf_full_version,
106107
py_version=py_version,
107108
code_location=output_path,
108109
output_path=output_path,
@@ -154,13 +155,13 @@ def test_mnist_distributed(sagemaker_session, instance_type, tf_full_version, py
154155
)
155156

156157

157-
def test_mnist_async(sagemaker_session, cpu_instance_type, tf_full_version, py_version):
158+
def test_mnist_async(sagemaker_session, cpu_instance_type):
158159
estimator = TensorFlow(
159160
entry_point=SCRIPT,
160161
role=ROLE,
161162
train_instance_count=1,
162163
train_instance_type="ml.c5.4xlarge",
163-
py_version=tests.integ.PYTHON_VERSION,
164+
py_version=PYTHON_VERSION,
164165
sagemaker_session=sagemaker_session,
165166
# testing py-sdk functionality, no need to run against all TF versions
166167
framework_version=LATEST_SERVING_VERSION,
@@ -195,18 +196,16 @@ def test_mnist_async(sagemaker_session, cpu_instance_type, tf_full_version, py_v
195196
_assert_model_name_match(sagemaker_session.sagemaker_client, endpoint_name, model_name)
196197

197198

198-
def test_deploy_with_input_handlers(
199-
sagemaker_session, instance_type, tf_serving_version, py_version
200-
):
199+
def test_deploy_with_input_handlers(sagemaker_session, instance_type, tf_serving_version):
201200
estimator = TensorFlow(
202201
entry_point="training.py",
203202
source_dir=TFS_RESOURCE_PATH,
204203
role=ROLE,
205204
train_instance_count=1,
206205
train_instance_type=instance_type,
207-
py_version=py_version,
208-
sagemaker_session=sagemaker_session,
209206
framework_version=tf_serving_version,
207+
py_version=PYTHON_VERSION,
208+
sagemaker_session=sagemaker_session,
210209
tags=TAGS,
211210
)
212211

tests/integ/test_tfs.py

+8-12
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,11 @@
2424
import tests.integ
2525
import tests.integ.timeout
2626
from sagemaker.tensorflow.model import TensorFlowModel, TensorFlowPredictor
27+
from tests.integ import PYTHON_VERSION
2728

2829

2930
@pytest.fixture(scope="module")
30-
def py_version(tf_full_version, tf_serving_version):
31-
return "py37" if tf_full_version == tf_serving_version else tests.integ.PYTHON_VERSION
32-
33-
34-
@pytest.fixture(scope="module")
35-
def tfs_predictor(sagemaker_session, tf_serving_version, py_version):
31+
def tfs_predictor(sagemaker_session, tf_serving_version):
3632
endpoint_name = sagemaker.utils.unique_name_from_base("sagemaker-tensorflow-serving")
3733
model_data = sagemaker_session.upload_data(
3834
path=os.path.join(tests.integ.DATA_DIR, "tensorflow-serving-test-model.tar.gz"),
@@ -43,7 +39,7 @@ def tfs_predictor(sagemaker_session, tf_serving_version, py_version):
4339
model_data=model_data,
4440
role="SageMakerRole",
4541
framework_version=tf_serving_version,
46-
py_version=py_version,
42+
py_version=PYTHON_VERSION,
4743
sagemaker_session=sagemaker_session,
4844
)
4945
predictor = model.deploy(1, "ml.c5.xlarge", endpoint_name=endpoint_name)
@@ -60,7 +56,7 @@ def tar_dir(directory, tmpdir):
6056

6157
@pytest.fixture
6258
def tfs_predictor_with_model_and_entry_point_same_tar(
63-
sagemaker_local_session, tf_serving_version, py_version, tmpdir
59+
sagemaker_local_session, tf_serving_version, tmpdir
6460
):
6561
endpoint_name = sagemaker.utils.unique_name_from_base("sagemaker-tensorflow-serving")
6662

@@ -72,7 +68,7 @@ def tfs_predictor_with_model_and_entry_point_same_tar(
7268
model_data="file://" + model_tar,
7369
role="SageMakerRole",
7470
framework_version=tf_serving_version,
75-
py_version=py_version,
71+
py_version=PYTHON_VERSION,
7672
sagemaker_session=sagemaker_local_session,
7773
)
7874
predictor = model.deploy(1, "local", endpoint_name=endpoint_name)
@@ -85,7 +81,7 @@ def tfs_predictor_with_model_and_entry_point_same_tar(
8581

8682
@pytest.fixture(scope="module")
8783
def tfs_predictor_with_model_and_entry_point_and_dependencies(
88-
sagemaker_local_session, tf_serving_version, py_version
84+
sagemaker_local_session, tf_serving_version
8985
):
9086
endpoint_name = sagemaker.utils.unique_name_from_base("sagemaker-tensorflow-serving")
9187

@@ -106,7 +102,7 @@ def tfs_predictor_with_model_and_entry_point_and_dependencies(
106102
role="SageMakerRole",
107103
dependencies=dependencies,
108104
framework_version=tf_serving_version,
109-
py_version=py_version,
105+
py_version=PYTHON_VERSION,
110106
sagemaker_session=sagemaker_local_session,
111107
)
112108

@@ -130,7 +126,7 @@ def tfs_predictor_with_accelerator(sagemaker_session, ei_tf_full_version, cpu_in
130126
model_data=model_data,
131127
role="SageMakerRole",
132128
framework_version=ei_tf_full_version,
133-
py_version=tests.integ.PYTHON_VERSION,
129+
py_version=PYTHON_VERSION,
134130
sagemaker_session=sagemaker_session,
135131
)
136132
predictor = model.deploy(

0 commit comments

Comments
 (0)