def test_sklearn_v2(self, namespace):
        deploy_model(
            "sklearn",
            namespace=namespace,
            protocol="kfserving",
            model_implementation="SKLEARN_SERVER",
            model_uri="gs://seldon-models/sklearn/iris",
        )
        wait_for_status("sklearn", namespace)
        wait_for_rollout("sklearn", namespace)
        time.sleep(1)

        logging.warning("Initial request")
        r = v2_protocol.inference_request(
            model_name="sklearn",
            namespace=namespace,
            payload={
                "inputs": [{
                    "name": "input-0",
                    "shape": [1, 4],
                    "datatype": "FP32",
                    "data": [[0.1, 0.2, 0.3, 0.4]],
                }]
            },
        )
        assert r.status_code == 200
    def test_xgboost_v2(self, namespace):
        deploy_model(
            "xgboost",
            namespace=namespace,
            protocol="kfserving",
            model_implementation="XGBOOST_SERVER",
            model_uri="gs://seldon-models/xgboost/iris",
        )
        wait_for_status("xgboost", namespace)
        wait_for_rollout("xgboost", namespace)
        time.sleep(1)

        logging.warning("Initial request")
        r = v2_protocol.inference_request(
            deployment_name="xgboost",
            model_name="model",
            namespace=namespace,
            payload={
                "inputs": [
                    {
                        "name": "input-0",
                        "shape": [1, 4],
                        "datatype": "FP32",
                        "data": [[0.1, 0.2, 0.3, 0.4]],
                    }
                ]
            },
        )
        assert len(r["outputs"]) > 0
Beispiel #3
0
def test_model_rest(s2i_image, namespace):
    deploy_model("mymodel", namespace=namespace, model_image=s2i_image)
    wait_for_status("mymodel", namespace)
    wait_for_rollout("mymodel", namespace)

    r = initial_rest_request("mymodel", namespace)

    assert r.status_code == 200
    assert r.json()["data"]["tensor"]["shape"] == [1]
    assert r.json()["data"]["tensor"]["values"] == [1.0]
    def test_mlflow_v2(self, namespace):
        tag = "mlflow"
        deploy_model(
            tag,
            namespace=namespace,
            protocol="kfserving",
            model_implementation="MLFLOW_SERVER",
            model_uri="gs://seldon-models/v1.10.0-dev/mlflow/elasticnet_wine",
        )
        wait_for_status(tag, namespace)
        wait_for_rollout(tag, namespace)
        time.sleep(1)

        logging.warning("Initial request")
        r = v2_protocol.inference_request(
            deployment_name=tag,
            model_name="model",
            namespace=namespace,
            payload={
                "parameters": {
                    "content_type": "pd"
                },
                "inputs": [
                    {
                        "name": "fixed acidity",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [7.4],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "volatile acidity",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [0.7000],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "citric acidity",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [0],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "residual sugar",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [1.9],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "chlorides",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [0.076],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "free sulfur dioxide",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [11],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "total sulfur dioxide",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [34],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "density",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [0.9978],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "pH",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [3.51],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "sulphates",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [0.56],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                    {
                        "name": "alcohol",
                        "shape": [1],
                        "datatype": "FP32",
                        "data": [9.4],
                        "parameters": {
                            "content_type": "np"
                        },
                    },
                ],
            },
        )
        assert r.status_code == 200