コード例 #1
0
def test_predict_microservice_rest(mock_post):
    sc = SeldonClient(deployment_name="mymodel")
    response = sc.microservice(method="predict")
    logging.info(response)
    assert response.success == True
    assert response.response.data.tensor.shape == [1, 1]
    assert mock_post.call_count == 1
コード例 #2
0
def run_predict(args):
    """
    Make a predict call to microservice
    Parameters
    ----------
    args
       Command line args

    """
    contract = json.load(open(args.contract, 'r'))
    contract = unfold_contract(contract)

    endpoint = f"{args.host}:{args.port}"
    sc = SeldonClient(microservice_endpoint=endpoint)

    for i in range(args.n_requests):
        batch: ndarray = generate_batch(contract, args.batch_size, 'features')
        if args.prnt:
            print(f"{'-' * 40}\nSENDING NEW REQUEST:\n")
            print(batch)

        transport = "grpc" if args.grpc else "rest"
        payload_type = "tensor" if args.tensor else "ndarray"

        response = sc.microservice(data=batch,
                                   transport=transport,
                                   method="predict",
                                   payload_type=payload_type)

        if args.prnt:
            print(f"RECEIVED RESPONSE:\n{response.response}\n")
コード例 #3
0
def test_predict_microservice_rest_json_data(mock_post):
    sc = SeldonClient(deployment_name="mymodel")
    response = sc.microservice(method="predict", json_data=JSON_TEST_DATA)
    json_response = seldon_message_to_json(response.response)
    assert "jsonData" in mock_post.call_args[1]["data"]["json"]
    assert response.success is True
    assert mock_post.call_args[1]["data"]["json"] == json.dumps(
        {"jsonData": JSON_TEST_DATA})
    assert json_response["jsonData"] == JSON_TEST_DATA
    assert mock_post.call_count == 1
コード例 #4
0
def run_send_feedback(args):
    """
    Make a feedback call to microservice

    Parameters
    ----------
    args
       Command line args

    """
    contract = json.load(open(args.contract, "r"))
    contract = unfold_contract(contract)
    endpoint = args.host + ":" + str(args.port)
    sc = SeldonClient(microservice_endpoint=endpoint)

    for i in range(args.n_requests):
        batch = generate_batch(contract, args.batch_size, "features")
        if args.prnt:
            print("-" * 40)
            print("SENDING NEW REQUEST:")

        if not args.grpc:
            transport = "rest"
        else:
            transport = "grpc"

        if args.tensor:
            payload_type = "tensor"
        else:
            payload_type = "ndarray"

        response_predict = sc.microservice(
            data=batch, transport=transport, payload_type=payload_type, method="predict"
        )
        response_feedback = sc.microservice_feedback(
            prediction_request=response_predict.request,
            prediction_response=response_predict.response,
            reward=1.0,
            transport=transport,
        )
        if args.prnt:
            print(f"RECEIVED RESPONSE:\n{response_feedback}\n")
コード例 #5
0
def test_wiring_microservice_api_grpc_aggregate(mock_handler):
    sc = SeldonClient()
    response = sc.microservice(transport="grpc", method="aggregate")
    assert mock_handler.call_count == 1
コード例 #6
0
def test_wiring_microservice_api_grpc_seldon_message(mock_handler):
    sc = SeldonClient()
    response = sc.microservice(transport="grpc", method="predict")
    assert mock_handler.call_count == 1
コード例 #7
0
def test_predict_grpc_microservice_transform_route():
    sc = SeldonClient(transport="grpc")
    response = sc.microservice(method="route")
    assert response.response.strData == "route"
コード例 #8
0
from seldon_core.seldon_client import SeldonClient

endpoint = "0.0.0.0:9001"  # Can also use 127.0.0.1

data = [[7.0, 8.0, 9.0, 10.0]]

sc = SeldonClient(microservice_endpoint=endpoint)
response = sc.microservice(json_data=data, method="transform-input")

print(response.request)
print(response.response)