# kfserving **Repository Path**: apulisplatform/kfserving ## Basic Information - **Project Name**: kfserving - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: 0.2.2 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-28 - **Last Updated**: 2022-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KFServing KFServing provides a Kubernetes [Custom Resource Definition](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) for serving machine learning (ML) models on arbitrary frameworks. It aims to solve production model serving use cases by providing performant, high abstraction interfaces for common ML frameworks like Tensorflow, XGBoost, ScikitLearn, PyTorch, and ONNX. It encapsulates the complexity of autoscaling, networking, health checking, and server configuration to bring cutting edge serving features like GPU Autoscaling, Scale to Zero, and Canary Rollouts to your ML deployments. It enables a simple, pluggable, and complete story for Production ML Serving including prediction, pre-processing, post-processing and explainability. ![KFServing](/docs/diagrams/kfserving.png) ### Learn More To learn more about KFServing, how to deploy it as part of Kubeflow, how to use various supported features, and how to participate in the KFServing community, please follow the [KFServing docs on the Kubeflow Website](https://www.kubeflow.org/docs/components/serving/kfserving/). ### Prerequisites KNative Serving and Istio should be available on Kubernetes Cluster. - Istio Version: v1.1.7+ - Knative Version: v0.8.x You may find this [installation instruction](https://github.com/kubeflow/kfserving/blob/master/docs/DEVELOPER_GUIDE.md#install-knative-on-a-kubernetes-cluster) useful. ### Installation using kubectl ### ``` TAG=0.2.2 kubectl apply -f ./install/$TAG/kfserving.yaml ``` By default, you can create InferenceService instances in any namespace which has no label with `control-plane` as key. You can also configure KFServing to make InferenceService instances only work in the namespace which has label pair `serving.kubeflow.org/inferenceservice: enabled`. To enable this mode, you need to add `env` field as stated below to `manager` container of statefulset `kfserving-controller-manager`. ``` env: - name: ENABLE_WEBHOOK_NAMESPACE_SELECTOR value: enabled ``` Please refer to our [troubleshooting section](docs/DEVELOPER_GUIDE.md#troubleshooting) for recommendations and tips. ### Use ### * Install the SDK ``` pip install kfserving ``` * Get the KFServing SDK documents from [here](python/kfserving/README.md). * Follow the [example here](docs/samples/client/kfserving_sdk_sample.ipynb) to use the KFServing SDK to create, rollout, promote, and delete an InferenceService instance. ### Contribute * [Developer Guide](/docs/DEVELOPER_GUIDE.md).