@@ -301,6 +301,53 @@ def test_transform_byo_estimator(sagemaker_session):
301
301
assert tags == model_tags
302
302
303
303
304
+ def test_single_transformer_multiple_jobs (sagemaker_session , mxnet_full_version ):
305
+ data_path = os .path .join (DATA_DIR , "mxnet_mnist" )
306
+ script_path = os .path .join (data_path , "mnist.py" )
307
+
308
+ mx = MXNet (
309
+ entry_point = script_path ,
310
+ role = "SageMakerRole" ,
311
+ train_instance_count = 1 ,
312
+ train_instance_type = "ml.c4.xlarge" ,
313
+ sagemaker_session = sagemaker_session ,
314
+ framework_version = mxnet_full_version ,
315
+ )
316
+
317
+ train_input = mx .sagemaker_session .upload_data (
318
+ path = os .path .join (data_path , "train" ), key_prefix = "integ-test-data/mxnet_mnist/train"
319
+ )
320
+ test_input = mx .sagemaker_session .upload_data (
321
+ path = os .path .join (data_path , "test" ), key_prefix = "integ-test-data/mxnet_mnist/test"
322
+ )
323
+ job_name = unique_name_from_base ("test-mxnet-transform" )
324
+
325
+ with timeout (minutes = TRAINING_DEFAULT_TIMEOUT_MINUTES ):
326
+ mx .fit ({"train" : train_input , "test" : test_input }, job_name = job_name )
327
+
328
+ transform_input_path = os .path .join (data_path , "transform" , "data.csv" )
329
+ transform_input_key_prefix = "integ-test-data/mxnet_mnist/transform"
330
+ transform_input = mx .sagemaker_session .upload_data (
331
+ path = transform_input_path , key_prefix = transform_input_key_prefix
332
+ )
333
+
334
+ transformer = mx .transformer (1 , "ml.m4.xlarge" )
335
+
336
+ job_name = unique_name_from_base ("test-mxnet-transform" )
337
+ transformer .transform (transform_input , content_type = "text/csv" , job_name = job_name )
338
+ with timeout_and_delete_model_with_transformer (
339
+ transformer , sagemaker_session , minutes = TRANSFORM_DEFAULT_TIMEOUT_MINUTES
340
+ ):
341
+ assert transformer .output_path == "s3://{}/{}" .format (
342
+ sagemaker_session .default_bucket (), job_name
343
+ )
344
+ job_name = unique_name_from_base ("test-mxnet-transform" )
345
+ transformer .transform (transform_input , content_type = "text/csv" , job_name = job_name )
346
+ assert transformer .output_path == "s3://{}/{}" .format (
347
+ sagemaker_session .default_bucket (), job_name
348
+ )
349
+
350
+
304
351
def _create_transformer_and_transform_job (
305
352
estimator ,
306
353
transform_input ,
0 commit comments