示例#1
0
def test_marketplace_estimator(sagemaker_session):
    with timeout(minutes=15):
        data_path = os.path.join(DATA_DIR, 'marketplace', 'training')
        region = sagemaker_session.boto_region_name
        account = REGION_ACCOUNT_MAP[region]
        algorithm_arn = ALGORITHM_ARN % (region, account)

        algo = AlgorithmEstimator(algorithm_arn=algorithm_arn,
                                  role='SageMakerRole',
                                  train_instance_count=1,
                                  train_instance_type='ml.c4.xlarge',
                                  sagemaker_session=sagemaker_session)

        train_input = algo.sagemaker_session.upload_data(
            path=data_path, key_prefix='integ-test-data/marketplace/train')

        algo.fit({'training': train_input})

    endpoint_name = 'test-marketplace-estimator{}'.format(
        sagemaker_timestamp())
    with timeout_and_delete_endpoint_by_name(endpoint_name,
                                             sagemaker_session,
                                             minutes=20):
        predictor = algo.deploy(1, 'ml.m4.xlarge', endpoint_name=endpoint_name)
        shape = pandas.read_csv(os.path.join(data_path, 'iris.csv'),
                                header=None)

        a = [50 * i for i in range(3)]
        b = [40 + i for i in range(10)]
        indices = [i + j for i, j in itertools.product(a, b)]

        test_data = shape.iloc[indices[:-1]]
        test_x = test_data.iloc[:, 1:]

        print(predictor.predict(test_x.values).decode('utf-8'))
示例#2
0
def test_marketplace_estimator(sagemaker_session, cpu_instance_type):
    with timeout(minutes=15):
        data_path = os.path.join(DATA_DIR, "marketplace", "training")
        region = sagemaker_session.boto_region_name
        account = REGION_ACCOUNT_MAP[region]
        algorithm_arn = ALGORITHM_ARN.format(partition=_aws_partition(region),
                                             region=region,
                                             account=account)

        algo = AlgorithmEstimator(
            algorithm_arn=algorithm_arn,
            role="SageMakerRole",
            train_instance_count=1,
            train_instance_type=cpu_instance_type,
            sagemaker_session=sagemaker_session,
        )

        train_input = algo.sagemaker_session.upload_data(
            path=data_path, key_prefix="integ-test-data/marketplace/train")

        algo.fit({"training": train_input})

    endpoint_name = "test-marketplace-estimator{}".format(
        sagemaker_timestamp())
    with timeout_and_delete_endpoint_by_name(endpoint_name,
                                             sagemaker_session,
                                             minutes=20):
        predictor = algo.deploy(1,
                                cpu_instance_type,
                                endpoint_name=endpoint_name)
        shape = pandas.read_csv(os.path.join(data_path, "iris.csv"),
                                header=None)

        a = [50 * i for i in range(3)]
        b = [40 + i for i in range(10)]
        indices = [i + j for i, j in itertools.product(a, b)]

        test_data = shape.iloc[indices[:-1]]
        test_x = test_data.iloc[:, 1:]

        print(predictor.predict(test_x.values).decode("utf-8"))