2727
2828
2929def test_kmeans (sagemaker_session ):
30+ job_name = unique_name_from_base ('kmeans' )
3031 with timeout (minutes = TRAINING_DEFAULT_TIMEOUT_MINUTES ):
3132 data_path = os .path .join (DATA_DIR , 'one_p_mnist' , 'mnist.pkl.gz' )
3233 pickle_args = {} if sys .version_info .major == 2 else {'encoding' : 'latin1' }
@@ -37,7 +38,7 @@ def test_kmeans(sagemaker_session):
3738
3839 kmeans = KMeans (role = 'SageMakerRole' , train_instance_count = 1 ,
3940 train_instance_type = 'ml.c4.xlarge' ,
40- k = 10 , sagemaker_session = sagemaker_session , base_job_name = 'test-kmeans' )
41+ k = 10 , sagemaker_session = sagemaker_session )
4142
4243 kmeans .init_method = 'random'
4344 kmeans .max_iterations = 1
@@ -61,12 +62,12 @@ def test_kmeans(sagemaker_session):
6162 force_dense = 'True' ,
6263 )
6364
64- kmeans .fit (kmeans .record_set (train_set [0 ][:100 ]))
65+ kmeans .fit (kmeans .record_set (train_set [0 ][:100 ]), job_name = job_name )
6566
66- endpoint_name = unique_name_from_base ( 'kmeans' )
67- with timeout_and_delete_endpoint_by_name ( endpoint_name , sagemaker_session ):
68- model = KMeansModel ( kmeans . model_data , role = 'SageMakerRole' , sagemaker_session = sagemaker_session )
69- predictor = model .deploy (1 , 'ml.c4.xlarge' , endpoint_name = endpoint_name )
67+ with timeout_and_delete_endpoint_by_name ( job_name , sagemaker_session ):
68+ model = KMeansModel ( kmeans . model_data , role = 'SageMakerRole' ,
69+ sagemaker_session = sagemaker_session )
70+ predictor = model .deploy (1 , 'ml.c4.xlarge' , endpoint_name = job_name )
7071 result = predictor .predict (train_set [0 ][:10 ])
7172
7273 assert len (result ) == 10
@@ -81,8 +82,7 @@ def test_kmeans(sagemaker_session):
8182
8283
8384def test_async_kmeans (sagemaker_session ):
84- training_job_name = ""
85- endpoint_name = unique_name_from_base ('kmeans' )
85+ job_name = unique_name_from_base ('kmeans' )
8686
8787 with timeout (minutes = 5 ):
8888 data_path = os .path .join (DATA_DIR , 'one_p_mnist' , 'mnist.pkl.gz' )
@@ -94,7 +94,7 @@ def test_async_kmeans(sagemaker_session):
9494
9595 kmeans = KMeans (role = 'SageMakerRole' , train_instance_count = 1 ,
9696 train_instance_type = 'ml.c4.xlarge' ,
97- k = 10 , sagemaker_session = sagemaker_session , base_job_name = 'test-kmeans' )
97+ k = 10 , sagemaker_session = sagemaker_session )
9898
9999 kmeans .init_method = 'random'
100100 kmeans .max_iterations = 1
@@ -118,17 +118,17 @@ def test_async_kmeans(sagemaker_session):
118118 force_dense = 'True' ,
119119 )
120120
121- kmeans .fit (kmeans .record_set (train_set [0 ][:100 ]), wait = False )
122- training_job_name = kmeans .latest_training_job .name
121+ kmeans .fit (kmeans .record_set (train_set [0 ][:100 ]), wait = False , job_name = job_name )
123122
124123 print ("Detached from training job. Will re-attach in 20 seconds" )
125124 time .sleep (20 )
126125 print ("attaching now..." )
127126
128- with timeout_and_delete_endpoint_by_name (endpoint_name , sagemaker_session ):
129- estimator = KMeans .attach (training_job_name = training_job_name , sagemaker_session = sagemaker_session )
130- model = KMeansModel (estimator .model_data , role = 'SageMakerRole' , sagemaker_session = sagemaker_session )
131- predictor = model .deploy (1 , 'ml.c4.xlarge' , endpoint_name = endpoint_name )
127+ with timeout_and_delete_endpoint_by_name (job_name , sagemaker_session ):
128+ estimator = KMeans .attach (training_job_name = job_name , sagemaker_session = sagemaker_session )
129+ model = KMeansModel (estimator .model_data , role = 'SageMakerRole' ,
130+ sagemaker_session = sagemaker_session )
131+ predictor = model .deploy (1 , 'ml.c4.xlarge' , endpoint_name = job_name )
132132 result = predictor .predict (train_set [0 ][:10 ])
133133
134134 assert len (result ) == 10
0 commit comments