blob: 31977eac322c1c63294c16b864a884f4c0395c56 [file] [log] [blame]
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.22.0
// protoc v3.12.2
// source: google/cloud/datalabeling/v1beta1/evaluation.proto
package datalabeling
import (
reflect "reflect"
sync "sync"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// Describes an evaluation between a machine learning model's predictions and
// ground truth labels. Created when an [EvaluationJob][google.cloud.datalabeling.v1beta1.EvaluationJob] runs successfully.
type Evaluation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. Resource name of an evaluation. The name has the following
// format:
//
// "projects/<var>{project_id}</var>/datasets/<var>{dataset_id}</var>/evaluations/<var>{evaluation_id</var>}'
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. Options used in the evaluation job that created this
// evaluation.
Config *EvaluationConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
// Output only. Timestamp for when the evaluation job that created this
// evaluation ran.
EvaluationJobRunTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=evaluation_job_run_time,json=evaluationJobRunTime,proto3" json:"evaluation_job_run_time,omitempty"`
// Output only. Timestamp for when this evaluation was created.
CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. Metrics comparing predictions to ground truth labels.
EvaluationMetrics *EvaluationMetrics `protobuf:"bytes,5,opt,name=evaluation_metrics,json=evaluationMetrics,proto3" json:"evaluation_metrics,omitempty"`
// Output only. Type of task that the model version being evaluated performs,
// as defined in the
//
// [evaluationJobConfig.inputConfig.annotationType][google.cloud.datalabeling.v1beta1.EvaluationJobConfig.input_config]
// field of the evaluation job that created this evaluation.
AnnotationType AnnotationType `protobuf:"varint,6,opt,name=annotation_type,json=annotationType,proto3,enum=google.cloud.datalabeling.v1beta1.AnnotationType" json:"annotation_type,omitempty"`
// Output only. The number of items in the ground truth dataset that were used
// for this evaluation. Only populated when the evaulation is for certain
// AnnotationTypes.
EvaluatedItemCount int64 `protobuf:"varint,7,opt,name=evaluated_item_count,json=evaluatedItemCount,proto3" json:"evaluated_item_count,omitempty"`
}
func (x *Evaluation) Reset() {
*x = Evaluation{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Evaluation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Evaluation) ProtoMessage() {}
func (x *Evaluation) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Evaluation.ProtoReflect.Descriptor instead.
func (*Evaluation) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{0}
}
func (x *Evaluation) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Evaluation) GetConfig() *EvaluationConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *Evaluation) GetEvaluationJobRunTime() *timestamp.Timestamp {
if x != nil {
return x.EvaluationJobRunTime
}
return nil
}
func (x *Evaluation) GetCreateTime() *timestamp.Timestamp {
if x != nil {
return x.CreateTime
}
return nil
}
func (x *Evaluation) GetEvaluationMetrics() *EvaluationMetrics {
if x != nil {
return x.EvaluationMetrics
}
return nil
}
func (x *Evaluation) GetAnnotationType() AnnotationType {
if x != nil {
return x.AnnotationType
}
return AnnotationType_ANNOTATION_TYPE_UNSPECIFIED
}
func (x *Evaluation) GetEvaluatedItemCount() int64 {
if x != nil {
return x.EvaluatedItemCount
}
return 0
}
// Configuration details used for calculating evaluation metrics and creating an
// [Evaluation][google.cloud.datalabeling.v1beta1.Evaluation].
type EvaluationConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Vertical specific options for general metrics.
//
// Types that are assignable to VerticalOption:
// *EvaluationConfig_BoundingBoxEvaluationOptions
VerticalOption isEvaluationConfig_VerticalOption `protobuf_oneof:"vertical_option"`
}
func (x *EvaluationConfig) Reset() {
*x = EvaluationConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EvaluationConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EvaluationConfig) ProtoMessage() {}
func (x *EvaluationConfig) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EvaluationConfig.ProtoReflect.Descriptor instead.
func (*EvaluationConfig) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{1}
}
func (m *EvaluationConfig) GetVerticalOption() isEvaluationConfig_VerticalOption {
if m != nil {
return m.VerticalOption
}
return nil
}
func (x *EvaluationConfig) GetBoundingBoxEvaluationOptions() *BoundingBoxEvaluationOptions {
if x, ok := x.GetVerticalOption().(*EvaluationConfig_BoundingBoxEvaluationOptions); ok {
return x.BoundingBoxEvaluationOptions
}
return nil
}
type isEvaluationConfig_VerticalOption interface {
isEvaluationConfig_VerticalOption()
}
type EvaluationConfig_BoundingBoxEvaluationOptions struct {
// Only specify this field if the related model performs image object
// detection (`IMAGE_BOUNDING_BOX_ANNOTATION`). Describes how to evaluate
// bounding boxes.
BoundingBoxEvaluationOptions *BoundingBoxEvaluationOptions `protobuf:"bytes,1,opt,name=bounding_box_evaluation_options,json=boundingBoxEvaluationOptions,proto3,oneof"`
}
func (*EvaluationConfig_BoundingBoxEvaluationOptions) isEvaluationConfig_VerticalOption() {}
// Options regarding evaluation between bounding boxes.
type BoundingBoxEvaluationOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Minimum
// [intersection-over-union
//
// (IOU)](/vision/automl/object-detection/docs/evaluate#intersection-over-union)
// required for 2 bounding boxes to be considered a match. This must be a
// number between 0 and 1.
IouThreshold float32 `protobuf:"fixed32,1,opt,name=iou_threshold,json=iouThreshold,proto3" json:"iou_threshold,omitempty"`
}
func (x *BoundingBoxEvaluationOptions) Reset() {
*x = BoundingBoxEvaluationOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BoundingBoxEvaluationOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BoundingBoxEvaluationOptions) ProtoMessage() {}
func (x *BoundingBoxEvaluationOptions) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BoundingBoxEvaluationOptions.ProtoReflect.Descriptor instead.
func (*BoundingBoxEvaluationOptions) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{2}
}
func (x *BoundingBoxEvaluationOptions) GetIouThreshold() float32 {
if x != nil {
return x.IouThreshold
}
return 0
}
type EvaluationMetrics struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Common metrics covering most general cases.
//
// Types that are assignable to Metrics:
// *EvaluationMetrics_ClassificationMetrics
// *EvaluationMetrics_ObjectDetectionMetrics
Metrics isEvaluationMetrics_Metrics `protobuf_oneof:"metrics"`
}
func (x *EvaluationMetrics) Reset() {
*x = EvaluationMetrics{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EvaluationMetrics) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EvaluationMetrics) ProtoMessage() {}
func (x *EvaluationMetrics) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EvaluationMetrics.ProtoReflect.Descriptor instead.
func (*EvaluationMetrics) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{3}
}
func (m *EvaluationMetrics) GetMetrics() isEvaluationMetrics_Metrics {
if m != nil {
return m.Metrics
}
return nil
}
func (x *EvaluationMetrics) GetClassificationMetrics() *ClassificationMetrics {
if x, ok := x.GetMetrics().(*EvaluationMetrics_ClassificationMetrics); ok {
return x.ClassificationMetrics
}
return nil
}
func (x *EvaluationMetrics) GetObjectDetectionMetrics() *ObjectDetectionMetrics {
if x, ok := x.GetMetrics().(*EvaluationMetrics_ObjectDetectionMetrics); ok {
return x.ObjectDetectionMetrics
}
return nil
}
type isEvaluationMetrics_Metrics interface {
isEvaluationMetrics_Metrics()
}
type EvaluationMetrics_ClassificationMetrics struct {
ClassificationMetrics *ClassificationMetrics `protobuf:"bytes,1,opt,name=classification_metrics,json=classificationMetrics,proto3,oneof"`
}
type EvaluationMetrics_ObjectDetectionMetrics struct {
ObjectDetectionMetrics *ObjectDetectionMetrics `protobuf:"bytes,2,opt,name=object_detection_metrics,json=objectDetectionMetrics,proto3,oneof"`
}
func (*EvaluationMetrics_ClassificationMetrics) isEvaluationMetrics_Metrics() {}
func (*EvaluationMetrics_ObjectDetectionMetrics) isEvaluationMetrics_Metrics() {}
// Metrics calculated for a classification model.
type ClassificationMetrics struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Precision-recall curve based on ground truth labels, predicted labels, and
// scores for the predicted labels.
PrCurve *PrCurve `protobuf:"bytes,1,opt,name=pr_curve,json=prCurve,proto3" json:"pr_curve,omitempty"`
// Confusion matrix of predicted labels vs. ground truth labels.
ConfusionMatrix *ConfusionMatrix `protobuf:"bytes,2,opt,name=confusion_matrix,json=confusionMatrix,proto3" json:"confusion_matrix,omitempty"`
}
func (x *ClassificationMetrics) Reset() {
*x = ClassificationMetrics{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClassificationMetrics) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClassificationMetrics) ProtoMessage() {}
func (x *ClassificationMetrics) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClassificationMetrics.ProtoReflect.Descriptor instead.
func (*ClassificationMetrics) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{4}
}
func (x *ClassificationMetrics) GetPrCurve() *PrCurve {
if x != nil {
return x.PrCurve
}
return nil
}
func (x *ClassificationMetrics) GetConfusionMatrix() *ConfusionMatrix {
if x != nil {
return x.ConfusionMatrix
}
return nil
}
// Metrics calculated for an image object detection (bounding box) model.
type ObjectDetectionMetrics struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Precision-recall curve.
PrCurve *PrCurve `protobuf:"bytes,1,opt,name=pr_curve,json=prCurve,proto3" json:"pr_curve,omitempty"`
}
func (x *ObjectDetectionMetrics) Reset() {
*x = ObjectDetectionMetrics{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ObjectDetectionMetrics) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ObjectDetectionMetrics) ProtoMessage() {}
func (x *ObjectDetectionMetrics) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ObjectDetectionMetrics.ProtoReflect.Descriptor instead.
func (*ObjectDetectionMetrics) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{5}
}
func (x *ObjectDetectionMetrics) GetPrCurve() *PrCurve {
if x != nil {
return x.PrCurve
}
return nil
}
type PrCurve struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The annotation spec of the label for which the precision-recall curve
// calculated. If this field is empty, that means the precision-recall curve
// is an aggregate curve for all labels.
AnnotationSpec *AnnotationSpec `protobuf:"bytes,1,opt,name=annotation_spec,json=annotationSpec,proto3" json:"annotation_spec,omitempty"`
// Area under the precision-recall curve. Not to be confused with area under
// a receiver operating characteristic (ROC) curve.
AreaUnderCurve float32 `protobuf:"fixed32,2,opt,name=area_under_curve,json=areaUnderCurve,proto3" json:"area_under_curve,omitempty"`
// Entries that make up the precision-recall graph. Each entry is a "point" on
// the graph drawn for a different `confidence_threshold`.
ConfidenceMetricsEntries []*PrCurve_ConfidenceMetricsEntry `protobuf:"bytes,3,rep,name=confidence_metrics_entries,json=confidenceMetricsEntries,proto3" json:"confidence_metrics_entries,omitempty"`
// Mean average prcision of this curve.
MeanAveragePrecision float32 `protobuf:"fixed32,4,opt,name=mean_average_precision,json=meanAveragePrecision,proto3" json:"mean_average_precision,omitempty"`
}
func (x *PrCurve) Reset() {
*x = PrCurve{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PrCurve) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrCurve) ProtoMessage() {}
func (x *PrCurve) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PrCurve.ProtoReflect.Descriptor instead.
func (*PrCurve) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{6}
}
func (x *PrCurve) GetAnnotationSpec() *AnnotationSpec {
if x != nil {
return x.AnnotationSpec
}
return nil
}
func (x *PrCurve) GetAreaUnderCurve() float32 {
if x != nil {
return x.AreaUnderCurve
}
return 0
}
func (x *PrCurve) GetConfidenceMetricsEntries() []*PrCurve_ConfidenceMetricsEntry {
if x != nil {
return x.ConfidenceMetricsEntries
}
return nil
}
func (x *PrCurve) GetMeanAveragePrecision() float32 {
if x != nil {
return x.MeanAveragePrecision
}
return 0
}
// Confusion matrix of the model running the classification. Only applicable
// when the metrics entry aggregates multiple labels. Not applicable when the
// entry is for a single label.
type ConfusionMatrix struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Row []*ConfusionMatrix_Row `protobuf:"bytes,1,rep,name=row,proto3" json:"row,omitempty"`
}
func (x *ConfusionMatrix) Reset() {
*x = ConfusionMatrix{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConfusionMatrix) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfusionMatrix) ProtoMessage() {}
func (x *ConfusionMatrix) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfusionMatrix.ProtoReflect.Descriptor instead.
func (*ConfusionMatrix) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{7}
}
func (x *ConfusionMatrix) GetRow() []*ConfusionMatrix_Row {
if x != nil {
return x.Row
}
return nil
}
type PrCurve_ConfidenceMetricsEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Threshold used for this entry.
//
// For classification tasks, this is a classification threshold: a
// predicted label is categorized as positive or negative (in the context of
// this point on the PR curve) based on whether the label's score meets this
// threshold.
//
// For image object detection (bounding box) tasks, this is the
// [intersection-over-union
//
// (IOU)](/vision/automl/object-detection/docs/evaluate#intersection-over-union)
// threshold for the context of this point on the PR curve.
ConfidenceThreshold float32 `protobuf:"fixed32,1,opt,name=confidence_threshold,json=confidenceThreshold,proto3" json:"confidence_threshold,omitempty"`
// Recall value.
Recall float32 `protobuf:"fixed32,2,opt,name=recall,proto3" json:"recall,omitempty"`
// Precision value.
Precision float32 `protobuf:"fixed32,3,opt,name=precision,proto3" json:"precision,omitempty"`
// Harmonic mean of recall and precision.
F1Score float32 `protobuf:"fixed32,4,opt,name=f1_score,json=f1Score,proto3" json:"f1_score,omitempty"`
// Recall value for entries with label that has highest score.
RecallAt1 float32 `protobuf:"fixed32,5,opt,name=recall_at1,json=recallAt1,proto3" json:"recall_at1,omitempty"`
// Precision value for entries with label that has highest score.
PrecisionAt1 float32 `protobuf:"fixed32,6,opt,name=precision_at1,json=precisionAt1,proto3" json:"precision_at1,omitempty"`
// The harmonic mean of [recall_at1][google.cloud.datalabeling.v1beta1.PrCurve.ConfidenceMetricsEntry.recall_at1] and [precision_at1][google.cloud.datalabeling.v1beta1.PrCurve.ConfidenceMetricsEntry.precision_at1].
F1ScoreAt1 float32 `protobuf:"fixed32,7,opt,name=f1_score_at1,json=f1ScoreAt1,proto3" json:"f1_score_at1,omitempty"`
// Recall value for entries with label that has highest 5 scores.
RecallAt5 float32 `protobuf:"fixed32,8,opt,name=recall_at5,json=recallAt5,proto3" json:"recall_at5,omitempty"`
// Precision value for entries with label that has highest 5 scores.
PrecisionAt5 float32 `protobuf:"fixed32,9,opt,name=precision_at5,json=precisionAt5,proto3" json:"precision_at5,omitempty"`
// The harmonic mean of [recall_at5][google.cloud.datalabeling.v1beta1.PrCurve.ConfidenceMetricsEntry.recall_at5] and [precision_at5][google.cloud.datalabeling.v1beta1.PrCurve.ConfidenceMetricsEntry.precision_at5].
F1ScoreAt5 float32 `protobuf:"fixed32,10,opt,name=f1_score_at5,json=f1ScoreAt5,proto3" json:"f1_score_at5,omitempty"`
}
func (x *PrCurve_ConfidenceMetricsEntry) Reset() {
*x = PrCurve_ConfidenceMetricsEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PrCurve_ConfidenceMetricsEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PrCurve_ConfidenceMetricsEntry) ProtoMessage() {}
func (x *PrCurve_ConfidenceMetricsEntry) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PrCurve_ConfidenceMetricsEntry.ProtoReflect.Descriptor instead.
func (*PrCurve_ConfidenceMetricsEntry) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{6, 0}
}
func (x *PrCurve_ConfidenceMetricsEntry) GetConfidenceThreshold() float32 {
if x != nil {
return x.ConfidenceThreshold
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetRecall() float32 {
if x != nil {
return x.Recall
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetPrecision() float32 {
if x != nil {
return x.Precision
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetF1Score() float32 {
if x != nil {
return x.F1Score
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetRecallAt1() float32 {
if x != nil {
return x.RecallAt1
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetPrecisionAt1() float32 {
if x != nil {
return x.PrecisionAt1
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetF1ScoreAt1() float32 {
if x != nil {
return x.F1ScoreAt1
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetRecallAt5() float32 {
if x != nil {
return x.RecallAt5
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetPrecisionAt5() float32 {
if x != nil {
return x.PrecisionAt5
}
return 0
}
func (x *PrCurve_ConfidenceMetricsEntry) GetF1ScoreAt5() float32 {
if x != nil {
return x.F1ScoreAt5
}
return 0
}
type ConfusionMatrix_ConfusionMatrixEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The annotation spec of a predicted label.
AnnotationSpec *AnnotationSpec `protobuf:"bytes,1,opt,name=annotation_spec,json=annotationSpec,proto3" json:"annotation_spec,omitempty"`
// Number of items predicted to have this label. (The ground truth label for
// these items is the `Row.annotationSpec` of this entry's parent.)
ItemCount int32 `protobuf:"varint,2,opt,name=item_count,json=itemCount,proto3" json:"item_count,omitempty"`
}
func (x *ConfusionMatrix_ConfusionMatrixEntry) Reset() {
*x = ConfusionMatrix_ConfusionMatrixEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConfusionMatrix_ConfusionMatrixEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfusionMatrix_ConfusionMatrixEntry) ProtoMessage() {}
func (x *ConfusionMatrix_ConfusionMatrixEntry) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfusionMatrix_ConfusionMatrixEntry.ProtoReflect.Descriptor instead.
func (*ConfusionMatrix_ConfusionMatrixEntry) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{7, 0}
}
func (x *ConfusionMatrix_ConfusionMatrixEntry) GetAnnotationSpec() *AnnotationSpec {
if x != nil {
return x.AnnotationSpec
}
return nil
}
func (x *ConfusionMatrix_ConfusionMatrixEntry) GetItemCount() int32 {
if x != nil {
return x.ItemCount
}
return 0
}
// A row in the confusion matrix. Each entry in this row has the same
// ground truth label.
type ConfusionMatrix_Row struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The annotation spec of the ground truth label for this row.
AnnotationSpec *AnnotationSpec `protobuf:"bytes,1,opt,name=annotation_spec,json=annotationSpec,proto3" json:"annotation_spec,omitempty"`
// A list of the confusion matrix entries. One entry for each possible
// predicted label.
Entries []*ConfusionMatrix_ConfusionMatrixEntry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
}
func (x *ConfusionMatrix_Row) Reset() {
*x = ConfusionMatrix_Row{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConfusionMatrix_Row) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfusionMatrix_Row) ProtoMessage() {}
func (x *ConfusionMatrix_Row) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfusionMatrix_Row.ProtoReflect.Descriptor instead.
func (*ConfusionMatrix_Row) Descriptor() ([]byte, []int) {
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP(), []int{7, 1}
}
func (x *ConfusionMatrix_Row) GetAnnotationSpec() *AnnotationSpec {
if x != nil {
return x.AnnotationSpec
}
return nil
}
func (x *ConfusionMatrix_Row) GetEntries() []*ConfusionMatrix_ConfusionMatrixEntry {
if x != nil {
return x.Entries
}
return nil
}
var File_google_cloud_datalabeling_v1beta1_evaluation_proto protoreflect.FileDescriptor
var file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDesc = []byte{
0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0xdd, 0x04, 0x0a, 0x0a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e,
0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x12, 0x51, 0x0a, 0x17, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x14, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x75,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61,
0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x5a, 0x0a, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
0x03, 0x52, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x6b, 0xea, 0x41, 0x68, 0x0a, 0x26, 0x64, 0x61, 0x74, 0x61,
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x3e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f,
0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x7d, 0x22, 0xb0, 0x01, 0x0a, 0x10, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x88, 0x01, 0x0a, 0x1f, 0x62, 0x6f, 0x75, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x78, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f,
0x78, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f,
0x78, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x1c, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
0x67, 0x42, 0x6f, 0x78, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6f, 0x75, 0x5f, 0x74, 0x68, 0x72,
0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x69, 0x6f,
0x75, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x11, 0x45,
0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
0x12, 0x71, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x15, 0x63, 0x6c,
0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x12, 0x75, 0x0a, 0x18, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65,
0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e,
0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
0x48, 0x00, 0x52, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
0x45, 0x0a, 0x08, 0x70, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x43, 0x75, 0x72, 0x76, 0x65, 0x52, 0x07, 0x70,
0x72, 0x43, 0x75, 0x72, 0x76, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73,
0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
0x74, 0x72, 0x69, 0x78, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d,
0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0x5f, 0x0a, 0x16, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44,
0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
0x45, 0x0a, 0x08, 0x70, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x43, 0x75, 0x72, 0x76, 0x65, 0x52, 0x07, 0x70,
0x72, 0x43, 0x75, 0x72, 0x76, 0x65, 0x22, 0xb1, 0x05, 0x0a, 0x07, 0x50, 0x72, 0x43, 0x75, 0x72,
0x76, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e,
0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28,
0x0a, 0x10, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72,
0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x72, 0x65, 0x61, 0x55, 0x6e,
0x64, 0x65, 0x72, 0x43, 0x75, 0x72, 0x76, 0x65, 0x12, 0x7f, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x65,
0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x50, 0x72, 0x43, 0x75, 0x72, 0x76, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x18, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x65, 0x61,
0x6e, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x65, 0x61, 0x6e, 0x41,
0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a,
0xe8, 0x02, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
0x65, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x72,
0x65, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73,
0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x05, 0x20, 0x01,
0x28, 0x02, 0x52, 0x09, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x31, 0x12, 0x23, 0x0a,
0x0d, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x06,
0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41,
0x74, 0x31, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61,
0x74, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x41, 0x74, 0x31, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x61,
0x74, 0x35, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c,
0x41, 0x74, 0x35, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x5f, 0x61, 0x74, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x63,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x35, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x31, 0x5f, 0x73,
0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a,
0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x74, 0x35, 0x22, 0xb6, 0x03, 0x0a, 0x0f, 0x43,
0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x48,
0x0a, 0x03, 0x72, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2e,
0x52, 0x6f, 0x77, 0x52, 0x03, 0x72, 0x6f, 0x77, 0x1a, 0x91, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6e,
0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x5a, 0x0a, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61,
0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a,
0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xc4, 0x01, 0x0a,
0x03, 0x52, 0x6f, 0x77, 0x12, 0x5a, 0x0a, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74,
0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63,
0x52, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63,
0x12, 0x61, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d,
0x61, 0x74, 0x72, 0x69, 0x78, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d,
0x61, 0x74, 0x72, 0x69, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72,
0x69, 0x65, 0x73, 0x42, 0x78, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65,
0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x50, 0x01, 0x5a, 0x4d,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61,
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x3b, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescOnce sync.Once
file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescData = file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDesc
)
func file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescGZIP() []byte {
file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescOnce.Do(func() {
file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescData)
})
return file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDescData
}
var file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_google_cloud_datalabeling_v1beta1_evaluation_proto_goTypes = []interface{}{
(*Evaluation)(nil), // 0: google.cloud.datalabeling.v1beta1.Evaluation
(*EvaluationConfig)(nil), // 1: google.cloud.datalabeling.v1beta1.EvaluationConfig
(*BoundingBoxEvaluationOptions)(nil), // 2: google.cloud.datalabeling.v1beta1.BoundingBoxEvaluationOptions
(*EvaluationMetrics)(nil), // 3: google.cloud.datalabeling.v1beta1.EvaluationMetrics
(*ClassificationMetrics)(nil), // 4: google.cloud.datalabeling.v1beta1.ClassificationMetrics
(*ObjectDetectionMetrics)(nil), // 5: google.cloud.datalabeling.v1beta1.ObjectDetectionMetrics
(*PrCurve)(nil), // 6: google.cloud.datalabeling.v1beta1.PrCurve
(*ConfusionMatrix)(nil), // 7: google.cloud.datalabeling.v1beta1.ConfusionMatrix
(*PrCurve_ConfidenceMetricsEntry)(nil), // 8: google.cloud.datalabeling.v1beta1.PrCurve.ConfidenceMetricsEntry
(*ConfusionMatrix_ConfusionMatrixEntry)(nil), // 9: google.cloud.datalabeling.v1beta1.ConfusionMatrix.ConfusionMatrixEntry
(*ConfusionMatrix_Row)(nil), // 10: google.cloud.datalabeling.v1beta1.ConfusionMatrix.Row
(*timestamp.Timestamp)(nil), // 11: google.protobuf.Timestamp
(AnnotationType)(0), // 12: google.cloud.datalabeling.v1beta1.AnnotationType
(*AnnotationSpec)(nil), // 13: google.cloud.datalabeling.v1beta1.AnnotationSpec
}
var file_google_cloud_datalabeling_v1beta1_evaluation_proto_depIdxs = []int32{
1, // 0: google.cloud.datalabeling.v1beta1.Evaluation.config:type_name -> google.cloud.datalabeling.v1beta1.EvaluationConfig
11, // 1: google.cloud.datalabeling.v1beta1.Evaluation.evaluation_job_run_time:type_name -> google.protobuf.Timestamp
11, // 2: google.cloud.datalabeling.v1beta1.Evaluation.create_time:type_name -> google.protobuf.Timestamp
3, // 3: google.cloud.datalabeling.v1beta1.Evaluation.evaluation_metrics:type_name -> google.cloud.datalabeling.v1beta1.EvaluationMetrics
12, // 4: google.cloud.datalabeling.v1beta1.Evaluation.annotation_type:type_name -> google.cloud.datalabeling.v1beta1.AnnotationType
2, // 5: google.cloud.datalabeling.v1beta1.EvaluationConfig.bounding_box_evaluation_options:type_name -> google.cloud.datalabeling.v1beta1.BoundingBoxEvaluationOptions
4, // 6: google.cloud.datalabeling.v1beta1.EvaluationMetrics.classification_metrics:type_name -> google.cloud.datalabeling.v1beta1.ClassificationMetrics
5, // 7: google.cloud.datalabeling.v1beta1.EvaluationMetrics.object_detection_metrics:type_name -> google.cloud.datalabeling.v1beta1.ObjectDetectionMetrics
6, // 8: google.cloud.datalabeling.v1beta1.ClassificationMetrics.pr_curve:type_name -> google.cloud.datalabeling.v1beta1.PrCurve
7, // 9: google.cloud.datalabeling.v1beta1.ClassificationMetrics.confusion_matrix:type_name -> google.cloud.datalabeling.v1beta1.ConfusionMatrix
6, // 10: google.cloud.datalabeling.v1beta1.ObjectDetectionMetrics.pr_curve:type_name -> google.cloud.datalabeling.v1beta1.PrCurve
13, // 11: google.cloud.datalabeling.v1beta1.PrCurve.annotation_spec:type_name -> google.cloud.datalabeling.v1beta1.AnnotationSpec
8, // 12: google.cloud.datalabeling.v1beta1.PrCurve.confidence_metrics_entries:type_name -> google.cloud.datalabeling.v1beta1.PrCurve.ConfidenceMetricsEntry
10, // 13: google.cloud.datalabeling.v1beta1.ConfusionMatrix.row:type_name -> google.cloud.datalabeling.v1beta1.ConfusionMatrix.Row
13, // 14: google.cloud.datalabeling.v1beta1.ConfusionMatrix.ConfusionMatrixEntry.annotation_spec:type_name -> google.cloud.datalabeling.v1beta1.AnnotationSpec
13, // 15: google.cloud.datalabeling.v1beta1.ConfusionMatrix.Row.annotation_spec:type_name -> google.cloud.datalabeling.v1beta1.AnnotationSpec
9, // 16: google.cloud.datalabeling.v1beta1.ConfusionMatrix.Row.entries:type_name -> google.cloud.datalabeling.v1beta1.ConfusionMatrix.ConfusionMatrixEntry
17, // [17:17] is the sub-list for method output_type
17, // [17:17] is the sub-list for method input_type
17, // [17:17] is the sub-list for extension type_name
17, // [17:17] is the sub-list for extension extendee
0, // [0:17] is the sub-list for field type_name
}
func init() { file_google_cloud_datalabeling_v1beta1_evaluation_proto_init() }
func file_google_cloud_datalabeling_v1beta1_evaluation_proto_init() {
if File_google_cloud_datalabeling_v1beta1_evaluation_proto != nil {
return
}
file_google_cloud_datalabeling_v1beta1_annotation_proto_init()
file_google_cloud_datalabeling_v1beta1_annotation_spec_set_proto_init()
if !protoimpl.UnsafeEnabled {
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Evaluation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EvaluationConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BoundingBoxEvaluationOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EvaluationMetrics); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClassificationMetrics); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ObjectDetectionMetrics); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrCurve); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConfusionMatrix); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrCurve_ConfidenceMetricsEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConfusionMatrix_ConfusionMatrixEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConfusionMatrix_Row); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[1].OneofWrappers = []interface{}{
(*EvaluationConfig_BoundingBoxEvaluationOptions)(nil),
}
file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes[3].OneofWrappers = []interface{}{
(*EvaluationMetrics_ClassificationMetrics)(nil),
(*EvaluationMetrics_ObjectDetectionMetrics)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDesc,
NumEnums: 0,
NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_google_cloud_datalabeling_v1beta1_evaluation_proto_goTypes,
DependencyIndexes: file_google_cloud_datalabeling_v1beta1_evaluation_proto_depIdxs,
MessageInfos: file_google_cloud_datalabeling_v1beta1_evaluation_proto_msgTypes,
}.Build()
File_google_cloud_datalabeling_v1beta1_evaluation_proto = out.File
file_google_cloud_datalabeling_v1beta1_evaluation_proto_rawDesc = nil
file_google_cloud_datalabeling_v1beta1_evaluation_proto_goTypes = nil
file_google_cloud_datalabeling_v1beta1_evaluation_proto_depIdxs = nil
}