Skip to content

Commit 0fd8754

Browse files
chuyang-denglaurenyu
authored andcommitted
fix: update py2 warning message since python 2 is deprecated (#1224)
1 parent c93feef commit 0fd8754

24 files changed

+296
-66
lines changed

src/sagemaker/chainer/defaults.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@
2020

2121
LATEST_VERSION = "5.0.0"
2222
"""The latest version of Chainer included in the SageMaker pre-built Docker images."""
23+
24+
LATEST_PY2_VERSION = "5.0.0"

src/sagemaker/chainer/estimator.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
empty_framework_version_warning,
2323
python_deprecation_warning,
2424
)
25-
from sagemaker.chainer.defaults import CHAINER_VERSION, LATEST_VERSION
25+
from sagemaker.chainer import defaults
2626
from sagemaker.chainer.model import ChainerModel
2727
from sagemaker.vpc_utils import VPC_CONFIG_DEFAULT
2828

@@ -40,7 +40,7 @@ class Chainer(Framework):
4040
_process_slots_per_host = "sagemaker_process_slots_per_host"
4141
_additional_mpi_options = "sagemaker_additional_mpi_options"
4242

43-
LATEST_VERSION = LATEST_VERSION
43+
LATEST_VERSION = defaults.LATEST_VERSION
4444

4545
def __init__(
4646
self,
@@ -126,15 +126,19 @@ def __init__(
126126
:class:`~sagemaker.estimator.EstimatorBase`.
127127
"""
128128
if framework_version is None:
129-
logger.warning(empty_framework_version_warning(CHAINER_VERSION, self.LATEST_VERSION))
130-
self.framework_version = framework_version or CHAINER_VERSION
129+
logger.warning(
130+
empty_framework_version_warning(defaults.CHAINER_VERSION, self.LATEST_VERSION)
131+
)
132+
self.framework_version = framework_version or defaults.CHAINER_VERSION
131133

132134
super(Chainer, self).__init__(
133135
entry_point, source_dir, hyperparameters, image_name=image_name, **kwargs
134136
)
135137

136138
if py_version == "py2":
137-
logger.warning(python_deprecation_warning(self.__framework_name__))
139+
logger.warning(
140+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
141+
)
138142

139143
self.py_version = py_version
140144
self.use_mpi = use_mpi

src/sagemaker/chainer/model.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
empty_framework_version_warning,
2626
)
2727
from sagemaker.model import FrameworkModel, MODEL_SERVER_WORKERS_PARAM_NAME
28-
from sagemaker.chainer.defaults import CHAINER_VERSION, LATEST_VERSION
28+
from sagemaker.chainer import defaults
2929
from sagemaker.predictor import RealTimePredictor, npy_serializer, numpy_deserializer
3030

3131
logger = logging.getLogger("sagemaker")
@@ -113,12 +113,17 @@ def __init__(
113113
model_data, image, role, entry_point, predictor_cls=predictor_cls, **kwargs
114114
)
115115
if py_version == "py2":
116-
logger.warning(python_deprecation_warning(self.__framework_name__))
116+
logger.warning(
117+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
118+
)
119+
117120
if framework_version is None:
118-
logger.warning(empty_framework_version_warning(CHAINER_VERSION, LATEST_VERSION))
121+
logger.warning(
122+
empty_framework_version_warning(defaults.CHAINER_VERSION, defaults.LATEST_VERSION)
123+
)
119124

120125
self.py_version = py_version
121-
self.framework_version = framework_version or CHAINER_VERSION
126+
self.framework_version = framework_version or defaults.CHAINER_VERSION
122127
self.model_server_workers = model_server_workers
123128

124129
def prepare_container_def(self, instance_type, accelerator_type=None):

src/sagemaker/fw_utils.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
"please add framework_version={latest} to your constructor."
3939
)
4040
PYTHON_2_DEPRECATION_WARNING = (
41-
"The Python 2 {framework} images will be soon deprecated and may not be "
42-
"supported for newer upcoming versions of the {framework} images.\n"
41+
"{latest_supported_version} is the latest version of {framework} that supports "
42+
"Python 2. Newer versions of {framework} will only be available for Python 3."
4343
"Please set the argument \"py_version='py3'\" to use the Python 3 {framework} image."
4444
)
4545

@@ -495,9 +495,12 @@ def get_unsupported_framework_version_error(
495495
)
496496

497497

498-
def python_deprecation_warning(framework):
498+
def python_deprecation_warning(framework, latest_supported_version):
499499
"""
500500
Args:
501501
framework:
502+
latest_supported_version:
502503
"""
503-
return PYTHON_2_DEPRECATION_WARNING.format(framework=framework)
504+
return PYTHON_2_DEPRECATION_WARNING.format(
505+
framework=framework, latest_supported_version=latest_supported_version
506+
)

src/sagemaker/mxnet/defaults.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@
2020

2121
LATEST_VERSION = "1.6.0"
2222
"""The latest version of MXNet included in the SageMaker pre-built Docker images."""
23+
24+
LATEST_PY2_VERSION = "1.6.0"

src/sagemaker/mxnet/estimator.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
python_deprecation_warning,
2424
is_version_equal_or_higher,
2525
)
26-
from sagemaker.mxnet.defaults import MXNET_VERSION, LATEST_VERSION
26+
from sagemaker.mxnet import defaults
2727
from sagemaker.mxnet.model import MXNetModel
2828
from sagemaker.vpc_utils import VPC_CONFIG_DEFAULT
2929

@@ -36,7 +36,7 @@ class MXNet(Framework):
3636
__framework_name__ = "mxnet"
3737
_LOWEST_SCRIPT_MODE_VERSION = ["1", "3"]
3838

39-
LATEST_VERSION = LATEST_VERSION
39+
LATEST_VERSION = defaults.LATEST_VERSION
4040

4141
def __init__(
4242
self,
@@ -107,8 +107,10 @@ def __init__(
107107
:class:`~sagemaker.estimator.EstimatorBase`.
108108
"""
109109
if framework_version is None:
110-
logger.warning(empty_framework_version_warning(MXNET_VERSION, self.LATEST_VERSION))
111-
self.framework_version = framework_version or MXNET_VERSION
110+
logger.warning(
111+
empty_framework_version_warning(defaults.MXNET_VERSION, self.LATEST_VERSION)
112+
)
113+
self.framework_version = framework_version or defaults.MXNET_VERSION
112114

113115
if "enable_sagemaker_metrics" not in kwargs:
114116
# enable sagemaker metrics for MXNet v1.6 or greater:
@@ -120,7 +122,9 @@ def __init__(
120122
)
121123

122124
if py_version == "py2":
123-
logger.warning(python_deprecation_warning(self.__framework_name__))
125+
logger.warning(
126+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
127+
)
124128

125129
self.py_version = py_version
126130
self._configure_distribution(distributions)

src/sagemaker/mxnet/model.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
empty_framework_version_warning,
2727
)
2828
from sagemaker.model import FrameworkModel, MODEL_SERVER_WORKERS_PARAM_NAME
29-
from sagemaker.mxnet.defaults import MXNET_VERSION, LATEST_VERSION
29+
from sagemaker.mxnet import defaults
3030
from sagemaker.predictor import RealTimePredictor, json_serializer, json_deserializer
3131

3232
logger = logging.getLogger("sagemaker")
@@ -114,12 +114,17 @@ def __init__(
114114
)
115115

116116
if py_version == "py2":
117-
logger.warning(python_deprecation_warning(self.__framework_name__))
117+
logger.warning(
118+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
119+
)
120+
118121
if framework_version is None:
119-
logger.warning(empty_framework_version_warning(MXNET_VERSION, LATEST_VERSION))
122+
logger.warning(
123+
empty_framework_version_warning(defaults.MXNET_VERSION, defaults.LATEST_VERSION)
124+
)
120125

121126
self.py_version = py_version
122-
self.framework_version = framework_version or MXNET_VERSION
127+
self.framework_version = framework_version or defaults.MXNET_VERSION
123128
self.model_server_workers = model_server_workers
124129

125130
def prepare_container_def(self, instance_type, accelerator_type=None):

src/sagemaker/pytorch/defaults.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@
2222
"""The latest version of PyTorch included in the SageMaker pre-built Docker images."""
2323

2424
PYTHON_VERSION = "py3"
25+
26+
LATEST_PY2_VERSION = "1.3.1"

src/sagemaker/pytorch/estimator.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
python_deprecation_warning,
2424
is_version_equal_or_higher,
2525
)
26-
from sagemaker.pytorch.defaults import PYTORCH_VERSION, PYTHON_VERSION, LATEST_VERSION
26+
from sagemaker.pytorch import defaults
2727
from sagemaker.pytorch.model import PyTorchModel
2828
from sagemaker.vpc_utils import VPC_CONFIG_DEFAULT
2929

@@ -35,14 +35,14 @@ class PyTorch(Framework):
3535

3636
__framework_name__ = "pytorch"
3737

38-
LATEST_VERSION = LATEST_VERSION
38+
LATEST_VERSION = defaults.LATEST_VERSION
3939

4040
def __init__(
4141
self,
4242
entry_point,
4343
source_dir=None,
4444
hyperparameters=None,
45-
py_version=PYTHON_VERSION,
45+
py_version=defaults.PYTHON_VERSION,
4646
framework_version=None,
4747
image_name=None,
4848
**kwargs
@@ -103,8 +103,10 @@ def __init__(
103103
:class:`~sagemaker.estimator.EstimatorBase`.
104104
"""
105105
if framework_version is None:
106-
logger.warning(empty_framework_version_warning(PYTORCH_VERSION, self.LATEST_VERSION))
107-
self.framework_version = framework_version or PYTORCH_VERSION
106+
logger.warning(
107+
empty_framework_version_warning(defaults.PYTORCH_VERSION, self.LATEST_VERSION)
108+
)
109+
self.framework_version = framework_version or defaults.PYTORCH_VERSION
108110

109111
if "enable_sagemaker_metrics" not in kwargs:
110112
# enable sagemaker metrics for PT v1.3 or greater:
@@ -116,7 +118,9 @@ def __init__(
116118
)
117119

118120
if py_version == "py2":
119-
logger.warning(python_deprecation_warning(self.__framework_name__))
121+
logger.warning(
122+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
123+
)
120124

121125
self.py_version = py_version
122126

src/sagemaker/pytorch/model.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
empty_framework_version_warning,
2626
)
2727
from sagemaker.model import FrameworkModel, MODEL_SERVER_WORKERS_PARAM_NAME
28-
from sagemaker.pytorch.defaults import PYTORCH_VERSION, PYTHON_VERSION, LATEST_VERSION
28+
from sagemaker.pytorch import defaults
2929
from sagemaker.predictor import RealTimePredictor, npy_serializer, numpy_deserializer
3030

3131
logger = logging.getLogger("sagemaker")
@@ -68,7 +68,7 @@ def __init__(
6868
role,
6969
entry_point,
7070
image=None,
71-
py_version=PYTHON_VERSION,
71+
py_version=defaults.PYTHON_VERSION,
7272
framework_version=None,
7373
predictor_cls=PyTorchPredictor,
7474
model_server_workers=None,
@@ -115,12 +115,17 @@ def __init__(
115115
)
116116

117117
if py_version == "py2":
118-
logger.warning(python_deprecation_warning(self.__framework_name__))
118+
logger.warning(
119+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
120+
)
121+
119122
if framework_version is None:
120-
logger.warning(empty_framework_version_warning(PYTORCH_VERSION, LATEST_VERSION))
123+
logger.warning(
124+
empty_framework_version_warning(defaults.PYTORCH_VERSION, defaults.LATEST_VERSION)
125+
)
121126

122127
self.py_version = py_version
123-
self.framework_version = framework_version or PYTORCH_VERSION
128+
self.framework_version = framework_version or defaults.PYTORCH_VERSION
124129
self.model_server_workers = model_server_workers
125130

126131
def prepare_container_def(self, instance_type, accelerator_type=None):

src/sagemaker/sklearn/defaults.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@
1616
SKLEARN_NAME = "scikit-learn"
1717

1818
SKLEARN_VERSION = "0.20.0"
19+
20+
LATEST_PY2_VERSION = "0.20.0"

src/sagemaker/sklearn/estimator.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
empty_framework_version_warning,
2323
python_deprecation_warning,
2424
)
25-
from sagemaker.sklearn.defaults import SKLEARN_VERSION, SKLEARN_NAME
25+
from sagemaker.sklearn import defaults
2626
from sagemaker.sklearn.model import SKLearnModel
2727
from sagemaker.vpc_utils import VPC_CONFIG_DEFAULT
2828

@@ -32,12 +32,12 @@
3232
class SKLearn(Framework):
3333
"""Handle end-to-end training and deployment of custom Scikit-learn code."""
3434

35-
__framework_name__ = SKLEARN_NAME
35+
__framework_name__ = defaults.SKLEARN_NAME
3636

3737
def __init__(
3838
self,
3939
entry_point,
40-
framework_version=SKLEARN_VERSION,
40+
framework_version=defaults.SKLEARN_VERSION,
4141
source_dir=None,
4242
hyperparameters=None,
4343
py_version="py3",
@@ -119,13 +119,17 @@ def __init__(
119119
)
120120

121121
if py_version == "py2":
122-
logger.warning(python_deprecation_warning(self.__framework_name__))
122+
logger.warning(
123+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
124+
)
123125

124126
self.py_version = py_version
125127

126128
if framework_version is None:
127-
logger.warning(empty_framework_version_warning(SKLEARN_VERSION, SKLEARN_VERSION))
128-
self.framework_version = framework_version or SKLEARN_VERSION
129+
logger.warning(
130+
empty_framework_version_warning(defaults.SKLEARN_VERSION, defaults.SKLEARN_VERSION)
131+
)
132+
self.framework_version = framework_version or defaults.SKLEARN_VERSION
129133

130134
if image_name is None:
131135
image_tag = "{}-{}-{}".format(framework_version, "cpu", py_version)

src/sagemaker/sklearn/model.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from sagemaker.fw_registry import default_framework_uri
2323
from sagemaker.model import FrameworkModel, MODEL_SERVER_WORKERS_PARAM_NAME
2424
from sagemaker.predictor import RealTimePredictor, npy_serializer, numpy_deserializer
25-
from sagemaker.sklearn.defaults import SKLEARN_VERSION, SKLEARN_NAME
25+
from sagemaker.sklearn import defaults
2626

2727
logger = logging.getLogger("sagemaker")
2828

@@ -55,7 +55,7 @@ class SKLearnModel(FrameworkModel):
5555
``Endpoint``.
5656
"""
5757

58-
__framework_name__ = SKLEARN_NAME
58+
__framework_name__ = defaults.SKLEARN_NAME
5959

6060
def __init__(
6161
self,
@@ -64,7 +64,7 @@ def __init__(
6464
entry_point,
6565
image=None,
6666
py_version="py3",
67-
framework_version=SKLEARN_VERSION,
67+
framework_version=defaults.SKLEARN_VERSION,
6868
predictor_cls=SKLearnPredictor,
6969
model_server_workers=None,
7070
**kwargs
@@ -110,7 +110,9 @@ def __init__(
110110
)
111111

112112
if py_version == "py2":
113-
logger.warning(python_deprecation_warning(self.__framework_name__))
113+
logger.warning(
114+
python_deprecation_warning(self.__framework_name__, defaults.LATEST_PY2_VERSION)
115+
)
114116

115117
self.py_version = py_version
116118
self.framework_version = framework_version

src/sagemaker/tensorflow/defaults.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@
2020

2121
LATEST_VERSION = "2.0.0"
2222
"""The latest version of TensorFlow included in the SageMaker pre-built Docker images."""
23+
24+
LATEST_PY2_VERSION = "2.0.0"

0 commit comments

Comments
 (0)