@@ -111,6 +111,34 @@ def pca_estimator_with_debug_hook():
111
111
112
112
return pca
113
113
114
+
115
+ @pytest .fixture
116
+ def pca_estimator_with_falsy_debug_hook ():
117
+ s3_output_location = 's3://sagemaker/models'
118
+
119
+ pca = sagemaker .estimator .Estimator (
120
+ PCA_IMAGE ,
121
+ role = EXECUTION_ROLE ,
122
+ train_instance_count = 1 ,
123
+ train_instance_type = 'ml.c4.xlarge' ,
124
+ output_path = s3_output_location ,
125
+ debugger_hook_config = False
126
+ )
127
+
128
+ pca .set_hyperparameters (
129
+ feature_dim = 50000 ,
130
+ num_components = 10 ,
131
+ subtract_mean = True ,
132
+ algorithm_mode = 'randomized' ,
133
+ mini_batch_size = 200
134
+ )
135
+
136
+ pca .sagemaker_session = MagicMock ()
137
+ pca .sagemaker_session .boto_region_name = 'us-east-1'
138
+ pca .sagemaker_session ._default_bucket = 'sagemaker'
139
+
140
+ return pca
141
+
114
142
@pytest .fixture
115
143
def pca_model ():
116
144
model_data = 's3://sagemaker/models/pca.tar.gz'
@@ -283,6 +311,43 @@ def test_training_step_creation_with_debug_hook(pca_estimator_with_debug_hook):
283
311
'End' : True
284
312
}
285
313
314
+ @patch ('botocore.client.BaseClient._make_api_call' , new = mock_boto_api_call )
315
+ def test_training_step_creation_with_falsy_debug_hook (pca_estimator_with_falsy_debug_hook ):
316
+ step = TrainingStep ('Training' ,
317
+ estimator = pca_estimator_with_falsy_debug_hook ,
318
+ job_name = 'TrainingJob' )
319
+ assert step .to_dict () == {
320
+ 'Type' : 'Task' ,
321
+ 'Parameters' : {
322
+ 'AlgorithmSpecification' : {
323
+ 'TrainingImage' : PCA_IMAGE ,
324
+ 'TrainingInputMode' : 'File'
325
+ },
326
+ 'OutputDataConfig' : {
327
+ 'S3OutputPath' : 's3://sagemaker/models'
328
+ },
329
+ 'StoppingCondition' : {
330
+ 'MaxRuntimeInSeconds' : 86400
331
+ },
332
+ 'ResourceConfig' : {
333
+ 'InstanceCount' : 1 ,
334
+ 'InstanceType' : 'ml.c4.xlarge' ,
335
+ 'VolumeSizeInGB' : 30
336
+ },
337
+ 'RoleArn' : EXECUTION_ROLE ,
338
+ 'HyperParameters' : {
339
+ 'feature_dim' : '50000' ,
340
+ 'num_components' : '10' ,
341
+ 'subtract_mean' : 'True' ,
342
+ 'algorithm_mode' : 'randomized' ,
343
+ 'mini_batch_size' : '200'
344
+ },
345
+ 'TrainingJobName' : 'TrainingJob'
346
+ },
347
+ 'Resource' : 'arn:aws:states:::sagemaker:createTrainingJob.sync' ,
348
+ 'End' : True
349
+ }
350
+
286
351
@patch ('botocore.client.BaseClient._make_api_call' , new = mock_boto_api_call )
287
352
def test_training_step_creation_with_model (pca_estimator ):
288
353
training_step = TrainingStep ('Training' , estimator = pca_estimator , job_name = 'TrainingJob' )
0 commit comments