Skip to content

Commit e527afe

Browse files
author
Chuyang Deng
committed
Modify timeout class, README, CHANGELOG and model none check in session and transformer.
1 parent 16e509b commit e527afe

File tree

4 files changed

+2
-60
lines changed

4 files changed

+2
-60
lines changed

src/sagemaker/session.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -796,12 +796,8 @@ def delete_model(self, model_name):
796796
model_name (str): Name of the Amazon SageMaker model to delete.
797797
798798
"""
799-
try:
800-
self.sagemaker_client.describe_model(ModelName=model_name)
801-
LOGGER.info('Deleting model with name: {}'.format(model_name))
802-
self.sagemaker_client.delete_model(ModelName=model_name)
803-
except Exception:
804-
raise ValueError('The Sagemaker model must be deployed first before attempting to delete.')
799+
LOGGER.info('Deleting model with name: {}'.format(model_name))
800+
self.sagemaker_client.delete_model(ModelName=model_name)
805801

806802
def wait_for_job(self, job, poll=5):
807803
"""Wait for an Amazon SageMaker training job to complete.

src/sagemaker/transformer.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ def __init__(self, model_name, instance_count, instance_type, strategy=None, ass
5252
using the default AWS configuration chain.
5353
volume_kms_key (str): Optional. KMS key ID for encrypting the volume attached to the ML
5454
compute instance (default: None).
55-
model (sagemaker.model.Model): A SageMaker Model object, used for SageMaker Model interactions
56-
(default: None). If not specified, model object related activities will fail.
5755
"""
5856
self.model_name = model_name
5957
self.strategy = strategy

tests/integ/timeout.py

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,9 @@ def timeout(seconds=0, minutes=0, hours=0):
3232
"""
3333
Add a signal-based timeout to any block of code.
3434
If multiple time units are specified, they will be added together to determine time limit.
35-
3635
Usage:
37-
3836
with timeout(seconds=5):
3937
my_slow_function(...)
40-
41-
4238
Args:
4339
- seconds: The time limit, in seconds.
4440
- minutes: The time limit, in minutes.
@@ -102,53 +98,19 @@ def timeout_and_delete_model_with_transformer(transformer, sagemaker_session, se
10298
try:
10399
transformer.delete_model()
104100
LOGGER.info('deleted SageMaker model {}'.format(transformer.model_name))
105-
<<<<<<< HEAD
106101

107102
_show_logs(transformer.model_name, 'Models', sagemaker_session)
108103
if no_errors:
109104
_cleanup_logs(transformer.model_name, 'Models', sagemaker_session)
110-
=======
111-
if no_errors:
112-
_cleanup_model_logs(transformer.model_name, sagemaker_session)
113-
>>>>>>> 334a0d6... Modify some functions, tests and update docs.
114105
return
115106
except ClientError as ce:
116107
if ce.response['Error']['Code'] == 'ValidationException':
117108
pass
118109
sleep(10)
119110

120111

121-
<<<<<<< HEAD
122112
def _show_logs(resource_name, resource_type, sagemaker_session):
123113
log_group = '/aws/sagemaker/{}/{}'.format(resource_type, resource_name)
124-
=======
125-
def _show_model_logs(model_name, sagemaker_session):
126-
log_group = '/aws/sagemaker/Models/{}'.format(model_name)
127-
try:
128-
LOGGER.info('cloudwatch logs for log group {}'.format(log_group))
129-
logs = AWSLogs(log_group_name=log_group, log_stream_name='ALL', start='1d',
130-
aws_region=sagemaker_session.boto_session.region_name)
131-
logs.list_logs()
132-
except Exception:
133-
LOGGER.exception('Failure occurred while listing cloudwatch log group %s. Swallowing exception but printing '
134-
'stacktrace for debugging.', log_group)
135-
136-
137-
def _cleanup_model_logs(model_name, sagemaker_session):
138-
log_group = '/aws/sagemaker/Models/{}'.format(model_name)
139-
try:
140-
LOGGER.info('deleting cloudwatch log group {}:'.format(log_group))
141-
cwl_client = sagemaker_session.boto_session.client('logs')
142-
cwl_client.delete_log_group(logGroupName=log_group)
143-
LOGGER.info('deleted cloudwatch log group: {}'.format(log_group))
144-
except Exception:
145-
LOGGER.exception('Failure occurred while cleaning up cloudwatch log group %s. '
146-
'Swallowing exception but printing stacktrace for debugging.', log_group)
147-
148-
149-
def _show_endpoint_logs(endpoint_name, sagemaker_session):
150-
log_group = '/aws/sagemaker/Endpoints/{}'.format(endpoint_name)
151-
>>>>>>> 334a0d6... Modify some functions, tests and update docs.
152114
try:
153115
# print out logs before deletion for debuggability
154116
LOGGER.info('cloudwatch logs for log group {}:'.format(log_group))

tests/unit/test_model.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -345,23 +345,9 @@ def test_model_delete_model(sagemaker_session, tmpdir):
345345
model.delete_model()
346346

347347
sagemaker_session.delete_model.assert_called_with(model.name)
348-
<<<<<<< HEAD
349-
<<<<<<< HEAD
350348

351349

352350
def test_delete_non_deployed_model(sagemaker_session):
353351
model = DummyFrameworkModel(sagemaker_session)
354352
with pytest.raises(ValueError, match='The SageMaker model must be deployed first before attempting to delete.'):
355353
model.delete_model()
356-
=======
357-
>>>>>>> 45e5c07... Add new APIs to predictor to delete endpoint and endpoint config, and transformer to delete model.
358-
=======
359-
360-
361-
@patch('sagemaker.fw_utils.tar_and_upload_dir', MagicMock())
362-
@patch('time.strftime', MagicMock(return_value=TIMESTAMP))
363-
def test_delete_non_deployed_model(sagemaker_session, tmpdir):
364-
model = DummyFrameworkModel(sagemaker_session, source_dir=str(tmpdir))
365-
with pytest.raises(ValueError, match='The SageMaker model must be deployed first before attempting to delete.'):
366-
model.delete_model()
367-
>>>>>>> 334a0d6... Modify some functions, tests and update docs.

0 commit comments

Comments
 (0)