File tree Expand file tree Collapse file tree 2 files changed +26
-2
lines changed Expand file tree Collapse file tree 2 files changed +26
-2
lines changed Original file line number Diff line number Diff line change 12
12
# language governing permissions and limitations under the License.
13
13
from __future__ import absolute_import
14
14
15
+ from botocore import exceptions
16
+
15
17
from sagemaker .job import _Job
16
18
from sagemaker .session import Session
17
19
from sagemaker .utils import base_name_from_image , name_from_base
@@ -119,8 +121,14 @@ def delete_model(self):
119
121
self .sagemaker_session .delete_model (self .model_name )
120
122
121
123
def _retrieve_image_name (self ):
122
- model_desc = self .sagemaker_session .sagemaker_client .describe_model (ModelName = self .model_name )
123
- return model_desc ['PrimaryContainer' ]['Image' ]
124
+ try :
125
+ model_desc = self .sagemaker_session .sagemaker_client .describe_model (ModelName = self .model_name )
126
+ return model_desc ['PrimaryContainer' ]['Image' ]
127
+ except exceptions .ClientError :
128
+ raise ValueError ('Failed to fetch model information for %s. '
129
+ 'Please ensure that the model exists. '
130
+ 'Local instance types require locally created models.'
131
+ % self .model_name )
124
132
125
133
def wait (self ):
126
134
self ._ensure_last_transform_job ()
Original file line number Diff line number Diff line change 16
16
from mock import MagicMock , Mock , patch
17
17
18
18
from sagemaker .transformer import Transformer , _TransformJob
19
+ from tests .integ import test_local_mode
19
20
20
21
MODEL_NAME = 'model'
21
22
IMAGE_NAME = 'image-for-model'
@@ -65,6 +66,21 @@ def test_delete_model(sagemaker_session):
65
66
sagemaker_session .delete_model .assert_called_with (MODEL_NAME )
66
67
67
68
69
+ def test_transformer_fails_without_model ():
70
+ transformer = Transformer (model_name = 'remote-model' ,
71
+ sagemaker_session = test_local_mode .LocalNoS3Session (),
72
+ instance_type = 'local' ,
73
+ instance_count = 1 )
74
+
75
+ with pytest .raises (ValueError ) as error :
76
+
77
+ transformer .transform ('empty-data' )
78
+
79
+ assert str (error .value ) == 'Failed to fetch model information for remote-model. ' \
80
+ 'Please ensure that the model exists. ' \
81
+ 'Local instance types require locally created models.'
82
+
83
+
68
84
@patch ('sagemaker.transformer._TransformJob.start_new' )
69
85
def test_transform_with_all_params (start_new_job , transformer ):
70
86
content_type = 'text/csv'
You can’t perform that action at this time.
0 commit comments