// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/automl/v1beta1/model_evaluation.proto

package automl

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Evaluation results of a model.
type ModelEvaluation struct {
	// Output only. Problem type specific evaluation metrics.
	//
	// Types that are valid to be assigned to Metrics:
	//	*ModelEvaluation_ClassificationEvaluationMetrics
	//	*ModelEvaluation_RegressionEvaluationMetrics
	//	*ModelEvaluation_TranslationEvaluationMetrics
	//	*ModelEvaluation_ImageObjectDetectionEvaluationMetrics
	//	*ModelEvaluation_TextSentimentEvaluationMetrics
	//	*ModelEvaluation_TextExtractionEvaluationMetrics
	Metrics isModelEvaluation_Metrics `protobuf_oneof:"metrics"`
	// Output only.
	// Resource name of the model evaluation.
	// Format:
	//
	// `projects/{project_id}/locations/{location_id}/models/{model_id}/modelEvaluations/{model_evaluation_id}`
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Output only.
	// The ID of the annotation spec that the model evaluation applies to. The
	// The ID is empty for the overall model evaluation.
	// For Tables classification these are the distinct values of the target
	// column at the moment of the evaluation; for this problem annotation specs
	// in the dataset do not exist.
	// NOTE: Currently there is no way to obtain the display_name of the
	// annotation spec from its ID. To see the display_names, review the model
	// evaluations in the UI.
	AnnotationSpecId string `protobuf:"bytes,2,opt,name=annotation_spec_id,json=annotationSpecId,proto3" json:"annotation_spec_id,omitempty"`
	// Output only. The value of [AnnotationSpec.display_name][google.cloud.automl.v1beta1.AnnotationSpec.display_name] when the model
	// was trained. Because this field returns a value at model training time,
	// for different models trained using the same dataset, the returned value
	// could be different as model owner could update the display_name between
	// any two model training.
	// The display_name is empty for the overall model evaluation.
	DisplayName string `protobuf:"bytes,15,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Output only.
	// Timestamp when this model evaluation was created.
	CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only.
	// The number of examples used for model evaluation, i.e. for
	// which ground truth from time of model creation is compared against the
	// predicted annotations created by the model.
	// For overall ModelEvaluation (i.e. with annotation_spec_id not set) this is
	// the total number of all examples used for evaluation.
	// Otherwise, this is the count of examples that according to the ground
	// truth were annotated by the
	//
	// [annotation_spec_id][google.cloud.automl.v1beta1.ModelEvaluation.annotation_spec_id].
	EvaluatedExampleCount int32    `protobuf:"varint,6,opt,name=evaluated_example_count,json=evaluatedExampleCount,proto3" json:"evaluated_example_count,omitempty"`
	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
	XXX_unrecognized      []byte   `json:"-"`
	XXX_sizecache         int32    `json:"-"`
}

func (m *ModelEvaluation) Reset()         { *m = ModelEvaluation{} }
func (m *ModelEvaluation) String() string { return proto.CompactTextString(m) }
func (*ModelEvaluation) ProtoMessage()    {}
func (*ModelEvaluation) Descriptor() ([]byte, []int) {
	return fileDescriptor_2d3cea51cfd5443a, []int{0}
}

func (m *ModelEvaluation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModelEvaluation.Unmarshal(m, b)
}
func (m *ModelEvaluation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModelEvaluation.Marshal(b, m, deterministic)
}
func (m *ModelEvaluation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModelEvaluation.Merge(m, src)
}
func (m *ModelEvaluation) XXX_Size() int {
	return xxx_messageInfo_ModelEvaluation.Size(m)
}
func (m *ModelEvaluation) XXX_DiscardUnknown() {
	xxx_messageInfo_ModelEvaluation.DiscardUnknown(m)
}

var xxx_messageInfo_ModelEvaluation proto.InternalMessageInfo

type isModelEvaluation_Metrics interface {
	isModelEvaluation_Metrics()
}

type ModelEvaluation_ClassificationEvaluationMetrics struct {
	ClassificationEvaluationMetrics *ClassificationEvaluationMetrics `protobuf:"bytes,8,opt,name=classification_evaluation_metrics,json=classificationEvaluationMetrics,proto3,oneof"`
}

type ModelEvaluation_RegressionEvaluationMetrics struct {
	RegressionEvaluationMetrics *RegressionEvaluationMetrics `protobuf:"bytes,24,opt,name=regression_evaluation_metrics,json=regressionEvaluationMetrics,proto3,oneof"`
}

type ModelEvaluation_TranslationEvaluationMetrics struct {
	TranslationEvaluationMetrics *TranslationEvaluationMetrics `protobuf:"bytes,9,opt,name=translation_evaluation_metrics,json=translationEvaluationMetrics,proto3,oneof"`
}

type ModelEvaluation_ImageObjectDetectionEvaluationMetrics struct {
	ImageObjectDetectionEvaluationMetrics *ImageObjectDetectionEvaluationMetrics `protobuf:"bytes,12,opt,name=image_object_detection_evaluation_metrics,json=imageObjectDetectionEvaluationMetrics,proto3,oneof"`
}

type ModelEvaluation_TextSentimentEvaluationMetrics struct {
	TextSentimentEvaluationMetrics *TextSentimentEvaluationMetrics `protobuf:"bytes,11,opt,name=text_sentiment_evaluation_metrics,json=textSentimentEvaluationMetrics,proto3,oneof"`
}

type ModelEvaluation_TextExtractionEvaluationMetrics struct {
	TextExtractionEvaluationMetrics *TextExtractionEvaluationMetrics `protobuf:"bytes,13,opt,name=text_extraction_evaluation_metrics,json=textExtractionEvaluationMetrics,proto3,oneof"`
}

func (*ModelEvaluation_ClassificationEvaluationMetrics) isModelEvaluation_Metrics() {}

func (*ModelEvaluation_RegressionEvaluationMetrics) isModelEvaluation_Metrics() {}

func (*ModelEvaluation_TranslationEvaluationMetrics) isModelEvaluation_Metrics() {}

func (*ModelEvaluation_ImageObjectDetectionEvaluationMetrics) isModelEvaluation_Metrics() {}

func (*ModelEvaluation_TextSentimentEvaluationMetrics) isModelEvaluation_Metrics() {}

func (*ModelEvaluation_TextExtractionEvaluationMetrics) isModelEvaluation_Metrics() {}

func (m *ModelEvaluation) GetMetrics() isModelEvaluation_Metrics {
	if m != nil {
		return m.Metrics
	}
	return nil
}

func (m *ModelEvaluation) GetClassificationEvaluationMetrics() *ClassificationEvaluationMetrics {
	if x, ok := m.GetMetrics().(*ModelEvaluation_ClassificationEvaluationMetrics); ok {
		return x.ClassificationEvaluationMetrics
	}
	return nil
}

func (m *ModelEvaluation) GetRegressionEvaluationMetrics() *RegressionEvaluationMetrics {
	if x, ok := m.GetMetrics().(*ModelEvaluation_RegressionEvaluationMetrics); ok {
		return x.RegressionEvaluationMetrics
	}
	return nil
}

func (m *ModelEvaluation) GetTranslationEvaluationMetrics() *TranslationEvaluationMetrics {
	if x, ok := m.GetMetrics().(*ModelEvaluation_TranslationEvaluationMetrics); ok {
		return x.TranslationEvaluationMetrics
	}
	return nil
}

func (m *ModelEvaluation) GetImageObjectDetectionEvaluationMetrics() *ImageObjectDetectionEvaluationMetrics {
	if x, ok := m.GetMetrics().(*ModelEvaluation_ImageObjectDetectionEvaluationMetrics); ok {
		return x.ImageObjectDetectionEvaluationMetrics
	}
	return nil
}

func (m *ModelEvaluation) GetTextSentimentEvaluationMetrics() *TextSentimentEvaluationMetrics {
	if x, ok := m.GetMetrics().(*ModelEvaluation_TextSentimentEvaluationMetrics); ok {
		return x.TextSentimentEvaluationMetrics
	}
	return nil
}

func (m *ModelEvaluation) GetTextExtractionEvaluationMetrics() *TextExtractionEvaluationMetrics {
	if x, ok := m.GetMetrics().(*ModelEvaluation_TextExtractionEvaluationMetrics); ok {
		return x.TextExtractionEvaluationMetrics
	}
	return nil
}

func (m *ModelEvaluation) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ModelEvaluation) GetAnnotationSpecId() string {
	if m != nil {
		return m.AnnotationSpecId
	}
	return ""
}

func (m *ModelEvaluation) GetDisplayName() string {
	if m != nil {
		return m.DisplayName
	}
	return ""
}

func (m *ModelEvaluation) GetCreateTime() *timestamp.Timestamp {
	if m != nil {
		return m.CreateTime
	}
	return nil
}

func (m *ModelEvaluation) GetEvaluatedExampleCount() int32 {
	if m != nil {
		return m.EvaluatedExampleCount
	}
	return 0
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*ModelEvaluation) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ModelEvaluation_ClassificationEvaluationMetrics)(nil),
		(*ModelEvaluation_RegressionEvaluationMetrics)(nil),
		(*ModelEvaluation_TranslationEvaluationMetrics)(nil),
		(*ModelEvaluation_ImageObjectDetectionEvaluationMetrics)(nil),
		(*ModelEvaluation_TextSentimentEvaluationMetrics)(nil),
		(*ModelEvaluation_TextExtractionEvaluationMetrics)(nil),
	}
}

func init() {
	proto.RegisterType((*ModelEvaluation)(nil), "google.cloud.automl.v1beta1.ModelEvaluation")
}

func init() {
	proto.RegisterFile("google/cloud/automl/v1beta1/model_evaluation.proto", fileDescriptor_2d3cea51cfd5443a)
}

var fileDescriptor_2d3cea51cfd5443a = []byte{
	// 595 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x41, 0x6b, 0xd4, 0x40,
	0x14, 0xc7, 0x4d, 0xb1, 0xb5, 0x9d, 0xad, 0x54, 0x06, 0xc4, 0xb0, 0xad, 0xed, 0x6e, 0x41, 0x58,
	0xb1, 0x26, 0xdd, 0x0a, 0xa2, 0xac, 0x97, 0xee, 0xba, 0x68, 0x0f, 0xab, 0xb2, 0x2d, 0x1e, 0x64,
	0x21, 0xcc, 0x4e, 0x5e, 0x43, 0x64, 0x92, 0x09, 0x99, 0x49, 0x59, 0x2f, 0x82, 0xe0, 0x41, 0xf4,
	0x3b, 0xf8, 0x5d, 0xbc, 0xfa, 0xa9, 0x24, 0x93, 0x64, 0x93, 0x95, 0x71, 0xec, 0x2d, 0xc9, 0xfb,
	0xff, 0xff, 0xf3, 0xcb, 0x7b, 0x33, 0x83, 0x4e, 0x02, 0xce, 0x03, 0x06, 0x2e, 0x65, 0x3c, 0xf3,
	0x5d, 0x92, 0x49, 0x1e, 0x31, 0xf7, 0xaa, 0x3f, 0x07, 0x49, 0xfa, 0x6e, 0xc4, 0x7d, 0x60, 0x1e,
	0x5c, 0x11, 0x96, 0x11, 0x19, 0xf2, 0xd8, 0x49, 0x52, 0x2e, 0x39, 0xde, 0x2d, 0x3c, 0x8e, 0xf2,
	0x38, 0x85, 0xc7, 0x29, 0x3d, 0xed, 0xbd, 0x32, 0x90, 0x24, 0xa1, 0x4b, 0xe2, 0x98, 0x4b, 0xe5,
	0x14, 0x85, 0xb5, 0x7d, 0x6c, 0x5a, 0x8e, 0x32, 0x22, 0x44, 0x78, 0x19, 0xd2, 0xc6, 0x62, 0xed,
	0x47, 0x26, 0x87, 0x0f, 0x12, 0x68, 0x43, 0x7c, 0x64, 0x12, 0xa7, 0x10, 0xa4, 0x20, 0x44, 0xad,
	0xee, 0x99, 0xd4, 0x92, 0xcc, 0x19, 0x54, 0xd8, 0x7d, 0xa3, 0x12, 0x16, 0xd2, 0x83, 0x85, 0x4c,
	0x49, 0x13, 0xe5, 0xf8, 0xbf, 0x16, 0x01, 0xb1, 0x0c, 0x23, 0x88, 0x65, 0xe9, 0x78, 0x6c, 0x74,
	0xa4, 0x24, 0x16, 0xac, 0xd9, 0x98, 0x83, 0x52, 0xae, 0xde, 0xe6, 0xd9, 0xa5, 0x9b, 0x87, 0x09,
	0x49, 0xa2, 0xa4, 0x10, 0x1c, 0xfe, 0xda, 0x44, 0x3b, 0x93, 0x7c, 0x82, 0xe3, 0xe5, 0x00, 0xf1,
	0x77, 0x0b, 0x75, 0x57, 0xdb, 0xdc, 0x18, 0xaf, 0x17, 0x81, 0x4c, 0x43, 0x2a, 0xec, 0xcd, 0x8e,
	0xd5, 0x6b, 0x9d, 0xbc, 0x70, 0x0c, 0x73, 0x76, 0x46, 0x2b, 0x29, 0xf5, 0x12, 0x93, 0x22, 0xe3,
	0xf5, 0x8d, 0xe9, 0x01, 0x35, 0x4b, 0xf0, 0x67, 0x74, 0xbf, 0x9e, 0x89, 0x8e, 0xc3, 0x56, 0x1c,
	0xcf, 0x8c, 0x1c, 0xd3, 0x65, 0x82, 0x8e, 0x61, 0x37, 0xfd, 0x77, 0x19, 0x7f, 0xb1, 0xd0, 0x7e,
	0xa3, 0xaf, 0x3a, 0x82, 0x2d, 0x45, 0xf0, 0xdc, 0x48, 0x70, 0x51, 0x47, 0xe8, 0x10, 0xf6, 0xa4,
	0xa1, 0x8e, 0x7f, 0x5a, 0xe8, 0x61, 0x18, 0x91, 0x00, 0x3c, 0x3e, 0xff, 0x08, 0x54, 0x7a, 0xcb,
	0x2d, 0xad, 0xc3, 0xd9, 0x56, 0x38, 0x43, 0x23, 0xce, 0x59, 0x9e, 0xf6, 0x56, 0x85, 0xbd, 0xac,
	0xb2, 0x74, 0x5c, 0x0f, 0xc2, 0xeb, 0x08, 0xf1, 0x37, 0x0b, 0x75, 0x57, 0xb7, 0xab, 0x0e, 0xac,
	0xa5, 0xc0, 0x06, 0xe6, 0x3e, 0xc1, 0x42, 0x9e, 0x57, 0x21, 0x3a, 0xa2, 0x7d, 0x69, 0x54, 0xe0,
	0x1f, 0x16, 0x3a, 0xfc, 0xeb, 0xb0, 0xe9, 0x58, 0x6e, 0x5f, 0x63, 0xf7, 0xe6, 0x2c, 0xe3, 0x65,
	0x8a, 0x76, 0xf7, 0x4a, 0xb3, 0x04, 0x63, 0x74, 0x33, 0x26, 0x11, 0xd8, 0x56, 0xc7, 0xea, 0x6d,
	0x4d, 0xd5, 0x33, 0x3e, 0x42, 0xb8, 0xbe, 0xf3, 0x3c, 0x91, 0x00, 0xf5, 0x42, 0xdf, 0x5e, 0x53,
	0x8a, 0x3b, 0x75, 0xe5, 0x3c, 0x01, 0x7a, 0xe6, 0xe3, 0x2e, 0xda, 0xf6, 0x43, 0x91, 0x30, 0xf2,
	0xc9, 0x53, 0x49, 0x3b, 0x4a, 0xd7, 0x2a, 0xbf, 0xbd, 0xc9, 0x03, 0x07, 0xa8, 0x45, 0x53, 0x20,
	0x12, 0xbc, 0xbc, 0x29, 0xf6, 0xba, 0xfa, 0xb5, 0x76, 0xf5, 0x6b, 0xd5, 0xd1, 0x77, 0x2e, 0xaa,
	0xa3, 0x3f, 0x45, 0x85, 0x3c, 0xff, 0x80, 0x9f, 0xa2, 0x7b, 0x65, 0x7b, 0xc0, 0xf7, 0x60, 0x41,
	0xa2, 0x84, 0x81, 0x47, 0x79, 0x16, 0x4b, 0x7b, 0xa3, 0x63, 0xf5, 0xd6, 0xa7, 0x77, 0x97, 0xe5,
	0x71, 0x51, 0x1d, 0xe5, 0xc5, 0xe1, 0x16, 0xba, 0x55, 0xf6, 0x72, 0xf8, 0xd5, 0x42, 0x07, 0x94,
	0x47, 0xa6, 0x5e, 0xbe, 0xb3, 0x3e, 0x9c, 0x96, 0xe5, 0x80, 0x33, 0x12, 0x07, 0x0e, 0x4f, 0x03,
	0x37, 0x80, 0x58, 0xd1, 0xb9, 0x45, 0x89, 0x24, 0xa1, 0xd0, 0x5e, 0x6c, 0x83, 0xe2, 0xf5, 0xf7,
	0xda, 0xee, 0x2b, 0x25, 0x9c, 0x8d, 0x72, 0xd1, 0xec, 0x34, 0x93, 0x7c, 0xc2, 0x66, 0xef, 0x0b,
	0xd1, 0x7c, 0x43, 0x65, 0x3d, 0xf9, 0x13, 0x00, 0x00, 0xff, 0xff, 0x08, 0xb8, 0xf3, 0x9a, 0xae,
	0x06, 0x00, 0x00,
}
