func (in *PredictorSpec) DeepCopyInto(out *PredictorSpec) {
	*out = *in
	if in.ModelPath != nil {
		in, out := &in.ModelPath, &out.ModelPath
		*out = new(string)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.TrafficWeight != nil {
		in, out := &in.TrafficWeight, &out.TrafficWeight
		*out = new(int32)
		**out = **in
	}
	in.Template.DeepCopyInto(&out.Template)
	if in.AutoScale != nil {
		in, out := &in.AutoScale, &out.AutoScale
		*out = new(AutoScaleStrategy)
		(*in).DeepCopyInto(*out)
	}
	if in.Batching != nil {
		in, out := &in.Batching, &out.Batching
		*out = new(BatchingStrategy)
		(*in).DeepCopyInto(*out)
	}
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1alpha1
import (
	"k8s.io/apimachinery/pkg/runtime"
)
func (in *AutoScaleStrategy) DeepCopyInto(out *AutoScaleStrategy) {
	*out = *in
	if in.MinReplicas != nil {
		in, out := &in.MinReplicas, &out.MinReplicas
		*out = new(int32)
		**out = **in
	}
	if in.MaxReplicas != nil {
		in, out := &in.MaxReplicas, &out.MaxReplicas
		*out = new(int32)
		**out = **in
	}
	out.AutoScaler = in.AutoScaler
}
func (in *AutoScaleStrategy) DeepCopy() *AutoScaleStrategy {
	if in == nil {
		return nil
	}
	out := new(AutoScaleStrategy)
	in.DeepCopyInto(out)
	return out
}
func (in *BatchingStrategy) DeepCopyInto(out *BatchingStrategy) {
	*out = *in
	if in.TimeoutSeconds != nil {
		in, out := &in.TimeoutSeconds, &out.TimeoutSeconds
		*out = new(int32)
		**out = **in
	}
}
func (in *BatchingStrategy) DeepCopy() *BatchingStrategy {
	if in == nil {
		return nil
	}
	out := new(BatchingStrategy)
	in.DeepCopyInto(out)
	return out
}
func (in *Inference) DeepCopyInto(out *Inference) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *Inference) DeepCopy() *Inference {
	if in == nil {
		return nil
	}
	out := new(Inference)
	in.DeepCopyInto(out)
	return out
}
func (in *Inference) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *InferenceList) DeepCopyInto(out *InferenceList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Inference, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *InferenceList) DeepCopy() *InferenceList {
	if in == nil {
		return nil
	}
	out := new(InferenceList)
	in.DeepCopyInto(out)
	return out
}
func (in *InferenceList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *InferenceSpec) DeepCopyInto(out *InferenceSpec) {
	*out = *in
	if in.Predictors != nil {
		in, out := &in.Predictors, &out.Predictors
		*out = make([]PredictorSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *InferenceSpec) DeepCopy() *InferenceSpec {
	if in == nil {
		return nil
	}
	out := new(InferenceSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *InferenceStatus) DeepCopyInto(out *InferenceStatus) {
	*out = *in
	if in.PredictorStatuses != nil {
		in, out := &in.PredictorStatuses, &out.PredictorStatuses
		*out = make([]PredictorStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *InferenceStatus) DeepCopy() *InferenceStatus {
	if in == nil {
		return nil
	}
	out := new(InferenceStatus)
	in.DeepCopyInto(out)
	return out
}