...
Code Block |
---|
language | cpp |
---|
title | InferenceModel CRD |
---|
|
// InferenceModelSpec defines the desired state of an InferenceModel.
// Two ways of deployment are provided. The first is through a docker image.
// The second is through a data store, with a manifest of model files.
// If image is provided, manifest and targetVersion will be ignored.
type InferenceModelSpec struct {
ModelName string `json:"modelName"`
DeployToLayer string `json:"deployToLayer"`
FrameworkType string `json:"fraemworkType,omitemptyframeworkType"`
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
Image// +optional
NodeName string `json:"nodeName,omitempty"`
// +optional
Image string `json:"image,omitempty"`
Manifest// +optional
Manifest []InferenceModelFile `json:"manifest,omitempty"`
// +optional
TargetVersion string `json:"targetVersion,omitempty"`
Replicas// +optional
// *int32 +kubebuilder:validation:Minimum=0
ServingPort int32 `json:"servingPort"`
// +optional
// +kubebuilder:validation:Minimum=0
Replicas *int32 `json:"replicas,omitempty"`
}
// InferenceModelFile defines an archive file for a single version of the model
type InferenceModelFile struct {
Version string `json:"version,omitempty"`
DownloadURL string `json:"downloadURL,omitempty"`
Sha256sum string `json:"sha256sum,omitempty"`
}
// InferenceModelStatus defines the observed state of InferenceModel
type InferenceModelStatus struct {
URL string `json:"url,omitempty"`
ServingVersion string `json:"servingVersion,omitempty"`
} |
Code Block |
---|
language | yml |
---|
title | Sample inferencemodel instance |
---|
|
apiVersion: ai.kubeedge.io/v1alpha1
kind: InferenceModel
metadata:
name: facialexpression
spec:
modelName: facialexpression
deployToLayer: edge
frameworkType: tensorflow
image:
nodeSelector:
kubernetes.io/hostname: iris-precision-5820
nodeName: iris-precision-5820
manifest:
- version: '3'
downloadURL: http://192.168.1.13/model_emotion_3.tar.gz
sha256sum: dec87e2f3c06e60e554acac0b2b80e394c616b0ecdf878fab7f04fd414a66eff
- version: '4'
downloadURL: http://192.168.1.13/model_emotion_4.tar.gz
sha256sum: 108a433a941411217e5d4bf9f43a262d0247a14c35ccbf677f63ba3b46ae6285
targetVersion: '4'
servingPort: 8080
replicas: 1 |
An instance of the InferenceModel specifies a single serving service for the provided model.
...