def test_delete_model_fail():
    sagemaker_session = empty_sagemaker_session()
    sagemaker_session.sagemaker_client.delete_model = Mock(side_effect=Exception('Could not find model.'))
    expected_error_message = 'One or more models cannot be deleted, please retry.'

    predictor = RealTimePredictor(ENDPOINT, sagemaker_session=sagemaker_session)

    with pytest.raises(Exception) as exception:
        predictor.delete_model()
        assert expected_error_message in str(exception.val)
def test_delete_model():
    sagemaker_session = empty_sagemaker_session()
    predictor = RealTimePredictor(ENDPOINT, sagemaker_session=sagemaker_session)

    predictor.delete_model()

    expected_call_count = 2
    expected_call_args_list = [call("model-1"), call("model-2")]
    assert sagemaker_session.delete_model.call_count == expected_call_count
    assert sagemaker_session.delete_model.call_args_list == expected_call_args_list
예제 #3
0
from sagemaker.amazon.amazon_estimator import get_image_uri

endpoint_name = 'creditcardfraudlogistic'

Model(
    model_data=
    's3://creditcardfraud123/logistic/output/linear-learner-191112-2119-002-ac3cc459/output/model.tar.gz',
    image=get_image_uri(region_name='us-east-1',
                        repo_name='linear-learner',
                        repo_version='latest'),
    role='AmazonSageMaker-ExecutionRole-20191005T164168').deploy(
        initial_instance_count=1,
        instance_type='ml.t2.2xlarge',
        endpoint_name=endpoint_name)

predictor = RealTimePredictor(endpoint_name)
predictor.content_type = 'text/csv'
predictor.serializer = csv_serializer
predictor.deserializer = json_deserializer

data = '83916.0,-0.46612620502545604,1.05888696127596,1.6867741713450801,-0.10791713399150099,-0.0534658672545062,-0.67078459643593,0.657296448523877,0.0267747128155009,-0.777065639315537,-0.16451379457928,1.6033857689344901,1.08437897734507,0.621801289885425,0.209210718774203,0.054395914001364995,0.30196805090530604,-0.610384355760504,-0.0111685840197793,0.22161067607904003,0.14522945875429,-0.155193422608588,-0.386047830532794,-0.019162727901044996,0.53588061095157,-0.22766218008636102,0.0387309462886897,0.266651773221212,0.114305983146032,2.58'

print(' ')
if predictor.predict(data)['predictions'][0]['predicted_label'] == 0:
    print('Not a Fraudulent Transaction')
else:
    print('Fraudulent Transaction')

predictor.delete_endpoint()
predictor.delete_model()