예제 #1
0
def test_lightgbm_kserve():
    service_name = "isvc-lightgbm"
    predictor = V1beta1PredictorSpec(
        min_replicas=1,
        lightgbm=V1beta1LightGBMSpec(
            storage_uri="gs://kfserving-examples/models/lightgbm/iris",
            resources=V1ResourceRequirements(
                requests={"cpu": "100m", "memory": "256Mi"},
                limits={"cpu": "100m", "memory": "256Mi"},
            ),
        ),
    )

    isvc = V1beta1InferenceService(
        api_version=constants.KSERVE_V1BETA1,
        kind=constants.KSERVE_KIND,
        metadata=client.V1ObjectMeta(
            name=service_name, namespace=KSERVE_TEST_NAMESPACE
        ),
        spec=V1beta1InferenceServiceSpec(predictor=predictor),
    )

    kserve_client = KServeClient(config_file=os.environ.get("KUBECONFIG", "~/.kube/config"))
    kserve_client.create(isvc)
    kserve_client.wait_isvc_ready(service_name, namespace=KSERVE_TEST_NAMESPACE)

    res = predict(service_name, "./data/iris_input_v3.json")
    assert res["predictions"][0][0] > 0.5
    kserve_client.delete(service_name, KSERVE_TEST_NAMESPACE)
예제 #2
0
    def _get_resource_requirements(self):
        """Get the resource requirements that are configured.

        This will construct and return the V1ResourceRequirements object to be used as the value
        of resource property of a container. The resource values are those provided when the S3
        data mover was initialized.
        """
        resources = V1ResourceRequirements()

        requests = {}
        if self.cpu_request is not None:
            requests['cpu'] = self.cpu_request
        if self.memory_request is not None:
            requests['memory'] = self.memory_request

        if requests:
            resources.requests = requests

        limits = {}
        if self.cpu_limit is not None:
            limits['cpu'] = self.cpu_limit
        if self.memory_limit is not None:
            limits['memory'] = self.memory_limit

        if limits:
            resources.limits = limits

        return resources