1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/automl/v1beta1/classification.proto
20
21package automl
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	_ "google.golang.org/genproto/googleapis/api/annotations"
28	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
29	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
30)
31
32const (
33	// Verify that this generated code is sufficiently up-to-date.
34	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
35	// Verify that runtime/protoimpl is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
37)
38
39// Type of the classification problem.
40type ClassificationType int32
41
42const (
43	// An un-set value of this enum.
44	ClassificationType_CLASSIFICATION_TYPE_UNSPECIFIED ClassificationType = 0
45	// At most one label is allowed per example.
46	ClassificationType_MULTICLASS ClassificationType = 1
47	// Multiple labels are allowed for one example.
48	ClassificationType_MULTILABEL ClassificationType = 2
49)
50
51// Enum value maps for ClassificationType.
52var (
53	ClassificationType_name = map[int32]string{
54		0: "CLASSIFICATION_TYPE_UNSPECIFIED",
55		1: "MULTICLASS",
56		2: "MULTILABEL",
57	}
58	ClassificationType_value = map[string]int32{
59		"CLASSIFICATION_TYPE_UNSPECIFIED": 0,
60		"MULTICLASS":                      1,
61		"MULTILABEL":                      2,
62	}
63)
64
65func (x ClassificationType) Enum() *ClassificationType {
66	p := new(ClassificationType)
67	*p = x
68	return p
69}
70
71func (x ClassificationType) String() string {
72	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
73}
74
75func (ClassificationType) Descriptor() protoreflect.EnumDescriptor {
76	return file_google_cloud_automl_v1beta1_classification_proto_enumTypes[0].Descriptor()
77}
78
79func (ClassificationType) Type() protoreflect.EnumType {
80	return &file_google_cloud_automl_v1beta1_classification_proto_enumTypes[0]
81}
82
83func (x ClassificationType) Number() protoreflect.EnumNumber {
84	return protoreflect.EnumNumber(x)
85}
86
87// Deprecated: Use ClassificationType.Descriptor instead.
88func (ClassificationType) EnumDescriptor() ([]byte, []int) {
89	return file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP(), []int{0}
90}
91
92// Contains annotation details specific to classification.
93type ClassificationAnnotation struct {
94	state         protoimpl.MessageState
95	sizeCache     protoimpl.SizeCache
96	unknownFields protoimpl.UnknownFields
97
98	// Output only. A confidence estimate between 0.0 and 1.0. A higher value
99	// means greater confidence that the annotation is positive. If a user
100	// approves an annotation as negative or positive, the score value remains
101	// unchanged. If a user creates an annotation, the score is 0 for negative or
102	// 1 for positive.
103	Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"`
104}
105
106func (x *ClassificationAnnotation) Reset() {
107	*x = ClassificationAnnotation{}
108	if protoimpl.UnsafeEnabled {
109		mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[0]
110		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
111		ms.StoreMessageInfo(mi)
112	}
113}
114
115func (x *ClassificationAnnotation) String() string {
116	return protoimpl.X.MessageStringOf(x)
117}
118
119func (*ClassificationAnnotation) ProtoMessage() {}
120
121func (x *ClassificationAnnotation) ProtoReflect() protoreflect.Message {
122	mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[0]
123	if protoimpl.UnsafeEnabled && x != nil {
124		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
125		if ms.LoadMessageInfo() == nil {
126			ms.StoreMessageInfo(mi)
127		}
128		return ms
129	}
130	return mi.MessageOf(x)
131}
132
133// Deprecated: Use ClassificationAnnotation.ProtoReflect.Descriptor instead.
134func (*ClassificationAnnotation) Descriptor() ([]byte, []int) {
135	return file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP(), []int{0}
136}
137
138func (x *ClassificationAnnotation) GetScore() float32 {
139	if x != nil {
140		return x.Score
141	}
142	return 0
143}
144
145// Contains annotation details specific to video classification.
146type VideoClassificationAnnotation struct {
147	state         protoimpl.MessageState
148	sizeCache     protoimpl.SizeCache
149	unknownFields protoimpl.UnknownFields
150
151	// Output only. Expresses the type of video classification. Possible values:
152	//
153	// *  `segment` - Classification done on a specified by user
154	//        time segment of a video. AnnotationSpec is answered to be present
155	//        in that time segment, if it is present in any part of it. The video
156	//        ML model evaluations are done only for this type of classification.
157	//
158	// *  `shot`- Shot-level classification.
159	//        AutoML Video Intelligence determines the boundaries
160	//        for each camera shot in the entire segment of the video that user
161	//        specified in the request configuration. AutoML Video Intelligence
162	//        then returns labels and their confidence scores for each detected
163	//        shot, along with the start and end time of the shot.
164	//        WARNING: Model evaluation is not done for this classification type,
165	//        the quality of it depends on training data, but there are no
166	//        metrics provided to describe that quality.
167	//
168	// *  `1s_interval` - AutoML Video Intelligence returns labels and their
169	//        confidence scores for each second of the entire segment of the video
170	//        that user specified in the request configuration.
171	//        WARNING: Model evaluation is not done for this classification type,
172	//        the quality of it depends on training data, but there are no
173	//        metrics provided to describe that quality.
174	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
175	// Output only . The classification details of this annotation.
176	ClassificationAnnotation *ClassificationAnnotation `protobuf:"bytes,2,opt,name=classification_annotation,json=classificationAnnotation,proto3" json:"classification_annotation,omitempty"`
177	// Output only . The time segment of the video to which the
178	// annotation applies.
179	TimeSegment *TimeSegment `protobuf:"bytes,3,opt,name=time_segment,json=timeSegment,proto3" json:"time_segment,omitempty"`
180}
181
182func (x *VideoClassificationAnnotation) Reset() {
183	*x = VideoClassificationAnnotation{}
184	if protoimpl.UnsafeEnabled {
185		mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[1]
186		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
187		ms.StoreMessageInfo(mi)
188	}
189}
190
191func (x *VideoClassificationAnnotation) String() string {
192	return protoimpl.X.MessageStringOf(x)
193}
194
195func (*VideoClassificationAnnotation) ProtoMessage() {}
196
197func (x *VideoClassificationAnnotation) ProtoReflect() protoreflect.Message {
198	mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[1]
199	if protoimpl.UnsafeEnabled && x != nil {
200		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
201		if ms.LoadMessageInfo() == nil {
202			ms.StoreMessageInfo(mi)
203		}
204		return ms
205	}
206	return mi.MessageOf(x)
207}
208
209// Deprecated: Use VideoClassificationAnnotation.ProtoReflect.Descriptor instead.
210func (*VideoClassificationAnnotation) Descriptor() ([]byte, []int) {
211	return file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP(), []int{1}
212}
213
214func (x *VideoClassificationAnnotation) GetType() string {
215	if x != nil {
216		return x.Type
217	}
218	return ""
219}
220
221func (x *VideoClassificationAnnotation) GetClassificationAnnotation() *ClassificationAnnotation {
222	if x != nil {
223		return x.ClassificationAnnotation
224	}
225	return nil
226}
227
228func (x *VideoClassificationAnnotation) GetTimeSegment() *TimeSegment {
229	if x != nil {
230		return x.TimeSegment
231	}
232	return nil
233}
234
235// Model evaluation metrics for classification problems.
236// Note: For Video Classification this metrics only describe quality of the
237// Video Classification predictions of "segment_classification" type.
238type ClassificationEvaluationMetrics struct {
239	state         protoimpl.MessageState
240	sizeCache     protoimpl.SizeCache
241	unknownFields protoimpl.UnknownFields
242
243	// Output only. The Area Under Precision-Recall Curve metric. Micro-averaged
244	// for the overall evaluation.
245	AuPrc float32 `protobuf:"fixed32,1,opt,name=au_prc,json=auPrc,proto3" json:"au_prc,omitempty"`
246	// Output only. The Area Under Precision-Recall Curve metric based on priors.
247	// Micro-averaged for the overall evaluation.
248	// Deprecated.
249	//
250	// Deprecated: Do not use.
251	BaseAuPrc float32 `protobuf:"fixed32,2,opt,name=base_au_prc,json=baseAuPrc,proto3" json:"base_au_prc,omitempty"`
252	// Output only. The Area Under Receiver Operating Characteristic curve metric.
253	// Micro-averaged for the overall evaluation.
254	AuRoc float32 `protobuf:"fixed32,6,opt,name=au_roc,json=auRoc,proto3" json:"au_roc,omitempty"`
255	// Output only. The Log Loss metric.
256	LogLoss float32 `protobuf:"fixed32,7,opt,name=log_loss,json=logLoss,proto3" json:"log_loss,omitempty"`
257	// Output only. Metrics for each confidence_threshold in
258	// 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and
259	// position_threshold = INT32_MAX_VALUE.
260	// ROC and precision-recall curves, and other aggregated metrics are derived
261	// from them. The confidence metrics entries may also be supplied for
262	// additional values of position_threshold, but from these no aggregated
263	// metrics are computed.
264	ConfidenceMetricsEntry []*ClassificationEvaluationMetrics_ConfidenceMetricsEntry `protobuf:"bytes,3,rep,name=confidence_metrics_entry,json=confidenceMetricsEntry,proto3" json:"confidence_metrics_entry,omitempty"`
265	// Output only. Confusion matrix of the evaluation.
266	// Only set for MULTICLASS classification problems where number
267	// of labels is no more than 10.
268	// Only set for model level evaluation, not for evaluation per label.
269	ConfusionMatrix *ClassificationEvaluationMetrics_ConfusionMatrix `protobuf:"bytes,4,opt,name=confusion_matrix,json=confusionMatrix,proto3" json:"confusion_matrix,omitempty"`
270	// Output only. The annotation spec ids used for this evaluation.
271	AnnotationSpecId []string `protobuf:"bytes,5,rep,name=annotation_spec_id,json=annotationSpecId,proto3" json:"annotation_spec_id,omitempty"`
272}
273
274func (x *ClassificationEvaluationMetrics) Reset() {
275	*x = ClassificationEvaluationMetrics{}
276	if protoimpl.UnsafeEnabled {
277		mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[2]
278		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
279		ms.StoreMessageInfo(mi)
280	}
281}
282
283func (x *ClassificationEvaluationMetrics) String() string {
284	return protoimpl.X.MessageStringOf(x)
285}
286
287func (*ClassificationEvaluationMetrics) ProtoMessage() {}
288
289func (x *ClassificationEvaluationMetrics) ProtoReflect() protoreflect.Message {
290	mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[2]
291	if protoimpl.UnsafeEnabled && x != nil {
292		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
293		if ms.LoadMessageInfo() == nil {
294			ms.StoreMessageInfo(mi)
295		}
296		return ms
297	}
298	return mi.MessageOf(x)
299}
300
301// Deprecated: Use ClassificationEvaluationMetrics.ProtoReflect.Descriptor instead.
302func (*ClassificationEvaluationMetrics) Descriptor() ([]byte, []int) {
303	return file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP(), []int{2}
304}
305
306func (x *ClassificationEvaluationMetrics) GetAuPrc() float32 {
307	if x != nil {
308		return x.AuPrc
309	}
310	return 0
311}
312
313// Deprecated: Do not use.
314func (x *ClassificationEvaluationMetrics) GetBaseAuPrc() float32 {
315	if x != nil {
316		return x.BaseAuPrc
317	}
318	return 0
319}
320
321func (x *ClassificationEvaluationMetrics) GetAuRoc() float32 {
322	if x != nil {
323		return x.AuRoc
324	}
325	return 0
326}
327
328func (x *ClassificationEvaluationMetrics) GetLogLoss() float32 {
329	if x != nil {
330		return x.LogLoss
331	}
332	return 0
333}
334
335func (x *ClassificationEvaluationMetrics) GetConfidenceMetricsEntry() []*ClassificationEvaluationMetrics_ConfidenceMetricsEntry {
336	if x != nil {
337		return x.ConfidenceMetricsEntry
338	}
339	return nil
340}
341
342func (x *ClassificationEvaluationMetrics) GetConfusionMatrix() *ClassificationEvaluationMetrics_ConfusionMatrix {
343	if x != nil {
344		return x.ConfusionMatrix
345	}
346	return nil
347}
348
349func (x *ClassificationEvaluationMetrics) GetAnnotationSpecId() []string {
350	if x != nil {
351		return x.AnnotationSpecId
352	}
353	return nil
354}
355
356// Metrics for a single confidence threshold.
357type ClassificationEvaluationMetrics_ConfidenceMetricsEntry struct {
358	state         protoimpl.MessageState
359	sizeCache     protoimpl.SizeCache
360	unknownFields protoimpl.UnknownFields
361
362	// Output only. Metrics are computed with an assumption that the model
363	// never returns predictions with score lower than this value.
364	ConfidenceThreshold float32 `protobuf:"fixed32,1,opt,name=confidence_threshold,json=confidenceThreshold,proto3" json:"confidence_threshold,omitempty"`
365	// Output only. Metrics are computed with an assumption that the model
366	// always returns at most this many predictions (ordered by their score,
367	// descendingly), but they all still need to meet the confidence_threshold.
368	PositionThreshold int32 `protobuf:"varint,14,opt,name=position_threshold,json=positionThreshold,proto3" json:"position_threshold,omitempty"`
369	// Output only. Recall (True Positive Rate) for the given confidence
370	// threshold.
371	Recall float32 `protobuf:"fixed32,2,opt,name=recall,proto3" json:"recall,omitempty"`
372	// Output only. Precision for the given confidence threshold.
373	Precision float32 `protobuf:"fixed32,3,opt,name=precision,proto3" json:"precision,omitempty"`
374	// Output only. False Positive Rate for the given confidence threshold.
375	FalsePositiveRate float32 `protobuf:"fixed32,8,opt,name=false_positive_rate,json=falsePositiveRate,proto3" json:"false_positive_rate,omitempty"`
376	// Output only. The harmonic mean of recall and precision.
377	F1Score float32 `protobuf:"fixed32,4,opt,name=f1_score,json=f1Score,proto3" json:"f1_score,omitempty"`
378	// Output only. The Recall (True Positive Rate) when only considering the
379	// label that has the highest prediction score and not below the confidence
380	// threshold for each example.
381	RecallAt1 float32 `protobuf:"fixed32,5,opt,name=recall_at1,json=recallAt1,proto3" json:"recall_at1,omitempty"`
382	// Output only. The precision when only considering the label that has the
383	// highest prediction score and not below the confidence threshold for each
384	// example.
385	PrecisionAt1 float32 `protobuf:"fixed32,6,opt,name=precision_at1,json=precisionAt1,proto3" json:"precision_at1,omitempty"`
386	// Output only. The False Positive Rate when only considering the label that
387	// has the highest prediction score and not below the confidence threshold
388	// for each example.
389	FalsePositiveRateAt1 float32 `protobuf:"fixed32,9,opt,name=false_positive_rate_at1,json=falsePositiveRateAt1,proto3" json:"false_positive_rate_at1,omitempty"`
390	// Output only. The harmonic mean of [recall_at1][google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry.recall_at1] and [precision_at1][google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry.precision_at1].
391	F1ScoreAt1 float32 `protobuf:"fixed32,7,opt,name=f1_score_at1,json=f1ScoreAt1,proto3" json:"f1_score_at1,omitempty"`
392	// Output only. The number of model created labels that match a ground truth
393	// label.
394	TruePositiveCount int64 `protobuf:"varint,10,opt,name=true_positive_count,json=truePositiveCount,proto3" json:"true_positive_count,omitempty"`
395	// Output only. The number of model created labels that do not match a
396	// ground truth label.
397	FalsePositiveCount int64 `protobuf:"varint,11,opt,name=false_positive_count,json=falsePositiveCount,proto3" json:"false_positive_count,omitempty"`
398	// Output only. The number of ground truth labels that are not matched
399	// by a model created label.
400	FalseNegativeCount int64 `protobuf:"varint,12,opt,name=false_negative_count,json=falseNegativeCount,proto3" json:"false_negative_count,omitempty"`
401	// Output only. The number of labels that were not created by the model,
402	// but if they would, they would not match a ground truth label.
403	TrueNegativeCount int64 `protobuf:"varint,13,opt,name=true_negative_count,json=trueNegativeCount,proto3" json:"true_negative_count,omitempty"`
404}
405
406func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) Reset() {
407	*x = ClassificationEvaluationMetrics_ConfidenceMetricsEntry{}
408	if protoimpl.UnsafeEnabled {
409		mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[3]
410		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
411		ms.StoreMessageInfo(mi)
412	}
413}
414
415func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) String() string {
416	return protoimpl.X.MessageStringOf(x)
417}
418
419func (*ClassificationEvaluationMetrics_ConfidenceMetricsEntry) ProtoMessage() {}
420
421func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) ProtoReflect() protoreflect.Message {
422	mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[3]
423	if protoimpl.UnsafeEnabled && x != nil {
424		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
425		if ms.LoadMessageInfo() == nil {
426			ms.StoreMessageInfo(mi)
427		}
428		return ms
429	}
430	return mi.MessageOf(x)
431}
432
433// Deprecated: Use ClassificationEvaluationMetrics_ConfidenceMetricsEntry.ProtoReflect.Descriptor instead.
434func (*ClassificationEvaluationMetrics_ConfidenceMetricsEntry) Descriptor() ([]byte, []int) {
435	return file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP(), []int{2, 0}
436}
437
438func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetConfidenceThreshold() float32 {
439	if x != nil {
440		return x.ConfidenceThreshold
441	}
442	return 0
443}
444
445func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetPositionThreshold() int32 {
446	if x != nil {
447		return x.PositionThreshold
448	}
449	return 0
450}
451
452func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetRecall() float32 {
453	if x != nil {
454		return x.Recall
455	}
456	return 0
457}
458
459func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetPrecision() float32 {
460	if x != nil {
461		return x.Precision
462	}
463	return 0
464}
465
466func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalsePositiveRate() float32 {
467	if x != nil {
468		return x.FalsePositiveRate
469	}
470	return 0
471}
472
473func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetF1Score() float32 {
474	if x != nil {
475		return x.F1Score
476	}
477	return 0
478}
479
480func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetRecallAt1() float32 {
481	if x != nil {
482		return x.RecallAt1
483	}
484	return 0
485}
486
487func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetPrecisionAt1() float32 {
488	if x != nil {
489		return x.PrecisionAt1
490	}
491	return 0
492}
493
494func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalsePositiveRateAt1() float32 {
495	if x != nil {
496		return x.FalsePositiveRateAt1
497	}
498	return 0
499}
500
501func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetF1ScoreAt1() float32 {
502	if x != nil {
503		return x.F1ScoreAt1
504	}
505	return 0
506}
507
508func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetTruePositiveCount() int64 {
509	if x != nil {
510		return x.TruePositiveCount
511	}
512	return 0
513}
514
515func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalsePositiveCount() int64 {
516	if x != nil {
517		return x.FalsePositiveCount
518	}
519	return 0
520}
521
522func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalseNegativeCount() int64 {
523	if x != nil {
524		return x.FalseNegativeCount
525	}
526	return 0
527}
528
529func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetTrueNegativeCount() int64 {
530	if x != nil {
531		return x.TrueNegativeCount
532	}
533	return 0
534}
535
536// Confusion matrix of the model running the classification.
537type ClassificationEvaluationMetrics_ConfusionMatrix struct {
538	state         protoimpl.MessageState
539	sizeCache     protoimpl.SizeCache
540	unknownFields protoimpl.UnknownFields
541
542	// Output only. IDs of the annotation specs used in the confusion matrix.
543	// For Tables CLASSIFICATION
544	//
545	// [prediction_type][google.cloud.automl.v1beta1.TablesModelMetadata.prediction_type]
546	// only list of [annotation_spec_display_name-s][] is populated.
547	AnnotationSpecId []string `protobuf:"bytes,1,rep,name=annotation_spec_id,json=annotationSpecId,proto3" json:"annotation_spec_id,omitempty"`
548	// Output only. Display name of the annotation specs used in the confusion
549	// matrix, as they were at the moment of the evaluation. For Tables
550	// CLASSIFICATION
551	//
552	// [prediction_type-s][google.cloud.automl.v1beta1.TablesModelMetadata.prediction_type],
553	// distinct values of the target column at the moment of the model
554	// evaluation are populated here.
555	DisplayName []string `protobuf:"bytes,3,rep,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
556	// Output only. Rows in the confusion matrix. The number of rows is equal to
557	// the size of `annotation_spec_id`.
558	// `row[i].example_count[j]` is the number of examples that have ground
559	// truth of the `annotation_spec_id[i]` and are predicted as
560	// `annotation_spec_id[j]` by the model being evaluated.
561	Row []*ClassificationEvaluationMetrics_ConfusionMatrix_Row `protobuf:"bytes,2,rep,name=row,proto3" json:"row,omitempty"`
562}
563
564func (x *ClassificationEvaluationMetrics_ConfusionMatrix) Reset() {
565	*x = ClassificationEvaluationMetrics_ConfusionMatrix{}
566	if protoimpl.UnsafeEnabled {
567		mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[4]
568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
569		ms.StoreMessageInfo(mi)
570	}
571}
572
573func (x *ClassificationEvaluationMetrics_ConfusionMatrix) String() string {
574	return protoimpl.X.MessageStringOf(x)
575}
576
577func (*ClassificationEvaluationMetrics_ConfusionMatrix) ProtoMessage() {}
578
579func (x *ClassificationEvaluationMetrics_ConfusionMatrix) ProtoReflect() protoreflect.Message {
580	mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[4]
581	if protoimpl.UnsafeEnabled && x != nil {
582		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
583		if ms.LoadMessageInfo() == nil {
584			ms.StoreMessageInfo(mi)
585		}
586		return ms
587	}
588	return mi.MessageOf(x)
589}
590
591// Deprecated: Use ClassificationEvaluationMetrics_ConfusionMatrix.ProtoReflect.Descriptor instead.
592func (*ClassificationEvaluationMetrics_ConfusionMatrix) Descriptor() ([]byte, []int) {
593	return file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP(), []int{2, 1}
594}
595
596func (x *ClassificationEvaluationMetrics_ConfusionMatrix) GetAnnotationSpecId() []string {
597	if x != nil {
598		return x.AnnotationSpecId
599	}
600	return nil
601}
602
603func (x *ClassificationEvaluationMetrics_ConfusionMatrix) GetDisplayName() []string {
604	if x != nil {
605		return x.DisplayName
606	}
607	return nil
608}
609
610func (x *ClassificationEvaluationMetrics_ConfusionMatrix) GetRow() []*ClassificationEvaluationMetrics_ConfusionMatrix_Row {
611	if x != nil {
612		return x.Row
613	}
614	return nil
615}
616
617// Output only. A row in the confusion matrix.
618type ClassificationEvaluationMetrics_ConfusionMatrix_Row struct {
619	state         protoimpl.MessageState
620	sizeCache     protoimpl.SizeCache
621	unknownFields protoimpl.UnknownFields
622
623	// Output only. Value of the specific cell in the confusion matrix.
624	// The number of values each row has (i.e. the length of the row) is equal
625	// to the length of the `annotation_spec_id` field or, if that one is not
626	// populated, length of the [display_name][google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfusionMatrix.display_name] field.
627	ExampleCount []int32 `protobuf:"varint,1,rep,packed,name=example_count,json=exampleCount,proto3" json:"example_count,omitempty"`
628}
629
630func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) Reset() {
631	*x = ClassificationEvaluationMetrics_ConfusionMatrix_Row{}
632	if protoimpl.UnsafeEnabled {
633		mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[5]
634		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
635		ms.StoreMessageInfo(mi)
636	}
637}
638
639func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) String() string {
640	return protoimpl.X.MessageStringOf(x)
641}
642
643func (*ClassificationEvaluationMetrics_ConfusionMatrix_Row) ProtoMessage() {}
644
645func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) ProtoReflect() protoreflect.Message {
646	mi := &file_google_cloud_automl_v1beta1_classification_proto_msgTypes[5]
647	if protoimpl.UnsafeEnabled && x != nil {
648		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
649		if ms.LoadMessageInfo() == nil {
650			ms.StoreMessageInfo(mi)
651		}
652		return ms
653	}
654	return mi.MessageOf(x)
655}
656
657// Deprecated: Use ClassificationEvaluationMetrics_ConfusionMatrix_Row.ProtoReflect.Descriptor instead.
658func (*ClassificationEvaluationMetrics_ConfusionMatrix_Row) Descriptor() ([]byte, []int) {
659	return file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP(), []int{2, 1, 0}
660}
661
662func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) GetExampleCount() []int32 {
663	if x != nil {
664		return x.ExampleCount
665	}
666	return nil
667}
668
669var File_google_cloud_automl_v1beta1_classification_proto protoreflect.FileDescriptor
670
671var file_google_cloud_automl_v1beta1_classification_proto_rawDesc = []byte{
672	0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
673	0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6c,
674	0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
675	0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
676	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a,
677	0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x75,
678	0x74, 0x6f, 0x6d, 0x6c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6d,
679	0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
680	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
681	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x18, 0x43, 0x6c, 0x61,
682	0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
683	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01,
684	0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x1d,
685	0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
686	0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
687	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
688	0x65, 0x12, 0x72, 0x0a, 0x19, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
689	0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
690	0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
691	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
692	0x61, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
693	0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x63, 0x6c, 0x61,
694	0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
695	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65,
696	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f,
697	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d,
698	0x6c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65,
699	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65,
700	0x6e, 0x74, 0x22, 0x99, 0x0a, 0x0a, 0x1f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63,
701	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
702	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x75, 0x5f, 0x70, 0x72, 0x63,
703	0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x61, 0x75, 0x50, 0x72, 0x63, 0x12, 0x22, 0x0a,
704	0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x75, 0x5f, 0x70, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01,
705	0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x41, 0x75, 0x50, 0x72,
706	0x63, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x75, 0x5f, 0x72, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28,
707	0x02, 0x52, 0x05, 0x61, 0x75, 0x52, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f,
708	0x6c, 0x6f, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4c,
709	0x6f, 0x73, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
710	0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79,
711	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
712	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x62,
713	0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
714	0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
715	0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4d,
716	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x63, 0x6f, 0x6e,
717	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e,
718	0x74, 0x72, 0x79, 0x12, 0x77, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e,
719	0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e,
720	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74,
721	0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73,
722	0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61,
723	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
724	0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x0f, 0x63, 0x6f, 0x6e,
725	0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x2c, 0x0a, 0x12,
726	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f,
727	0x69, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
728	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x1a, 0xdc, 0x04, 0x0a, 0x16, 0x43,
729	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
730	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
731	0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20,
732	0x01, 0x28, 0x02, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x54,
733	0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x69,
734	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0e,
735	0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68,
736	0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x61, 0x6c,
737	0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x12,
738	0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
739	0x28, 0x02, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a,
740	0x13, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f,
741	0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x73,
742	0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a,
743	0x08, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52,
744	0x07, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x61,
745	0x6c, 0x6c, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x65,
746	0x63, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x31, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x63, 0x69,
747	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c,
748	0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x31, 0x12, 0x35, 0x0a, 0x17,
749	0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72,
750	0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x66,
751	0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x74, 0x65,
752	0x41, 0x74, 0x31, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f,
753	0x61, 0x74, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x31, 0x53, 0x63, 0x6f,
754	0x72, 0x65, 0x41, 0x74, 0x31, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x72, 0x75, 0x65, 0x5f, 0x70, 0x6f,
755	0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
756	0x28, 0x03, 0x52, 0x11, 0x74, 0x72, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
757	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70,
758	0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20,
759	0x01, 0x28, 0x03, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
760	0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x6c, 0x73, 0x65,
761	0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
762	0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x4e, 0x65, 0x67, 0x61,
763	0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x72, 0x75,
764	0x65, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
765	0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x72, 0x75, 0x65, 0x4e, 0x65, 0x67, 0x61,
766	0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xf2, 0x01, 0x0a, 0x0f, 0x43, 0x6f,
767	0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x2c, 0x0a,
768	0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63,
769	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
770	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64,
771	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28,
772	0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62,
773	0x0a, 0x03, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f,
774	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d,
775	0x6c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
776	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69,
777	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73,
778	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x03, 0x72,
779	0x6f, 0x77, 0x1a, 0x2a, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x61,
780	0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
781	0x52, 0x0c, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x2a, 0x59,
782	0x0a, 0x12, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
783	0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49,
784	0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
785	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x4c,
786	0x54, 0x49, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x4c,
787	0x54, 0x49, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x02, 0x42, 0xb8, 0x01, 0x0a, 0x1f, 0x63, 0x6f,
788	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
789	0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x43,
790	0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f,
791	0x74, 0x6f, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
792	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
793	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
794	0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61,
795	0x75, 0x74, 0x6f, 0x6d, 0x6c, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43,
796	0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x6c, 0x5c, 0x56, 0x31, 0x62, 0x65,
797	0x74, 0x61, 0x31, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c,
798	0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x4c, 0x3a, 0x3a, 0x56, 0x31, 0x62,
799	0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
800}
801
802var (
803	file_google_cloud_automl_v1beta1_classification_proto_rawDescOnce sync.Once
804	file_google_cloud_automl_v1beta1_classification_proto_rawDescData = file_google_cloud_automl_v1beta1_classification_proto_rawDesc
805)
806
807func file_google_cloud_automl_v1beta1_classification_proto_rawDescGZIP() []byte {
808	file_google_cloud_automl_v1beta1_classification_proto_rawDescOnce.Do(func() {
809		file_google_cloud_automl_v1beta1_classification_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_automl_v1beta1_classification_proto_rawDescData)
810	})
811	return file_google_cloud_automl_v1beta1_classification_proto_rawDescData
812}
813
814var file_google_cloud_automl_v1beta1_classification_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
815var file_google_cloud_automl_v1beta1_classification_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
816var file_google_cloud_automl_v1beta1_classification_proto_goTypes = []interface{}{
817	(ClassificationType)(0),                                        // 0: google.cloud.automl.v1beta1.ClassificationType
818	(*ClassificationAnnotation)(nil),                               // 1: google.cloud.automl.v1beta1.ClassificationAnnotation
819	(*VideoClassificationAnnotation)(nil),                          // 2: google.cloud.automl.v1beta1.VideoClassificationAnnotation
820	(*ClassificationEvaluationMetrics)(nil),                        // 3: google.cloud.automl.v1beta1.ClassificationEvaluationMetrics
821	(*ClassificationEvaluationMetrics_ConfidenceMetricsEntry)(nil), // 4: google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry
822	(*ClassificationEvaluationMetrics_ConfusionMatrix)(nil),        // 5: google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfusionMatrix
823	(*ClassificationEvaluationMetrics_ConfusionMatrix_Row)(nil),    // 6: google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfusionMatrix.Row
824	(*TimeSegment)(nil),                                            // 7: google.cloud.automl.v1beta1.TimeSegment
825}
826var file_google_cloud_automl_v1beta1_classification_proto_depIdxs = []int32{
827	1, // 0: google.cloud.automl.v1beta1.VideoClassificationAnnotation.classification_annotation:type_name -> google.cloud.automl.v1beta1.ClassificationAnnotation
828	7, // 1: google.cloud.automl.v1beta1.VideoClassificationAnnotation.time_segment:type_name -> google.cloud.automl.v1beta1.TimeSegment
829	4, // 2: google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.confidence_metrics_entry:type_name -> google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry
830	5, // 3: google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.confusion_matrix:type_name -> google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfusionMatrix
831	6, // 4: google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfusionMatrix.row:type_name -> google.cloud.automl.v1beta1.ClassificationEvaluationMetrics.ConfusionMatrix.Row
832	5, // [5:5] is the sub-list for method output_type
833	5, // [5:5] is the sub-list for method input_type
834	5, // [5:5] is the sub-list for extension type_name
835	5, // [5:5] is the sub-list for extension extendee
836	0, // [0:5] is the sub-list for field type_name
837}
838
839func init() { file_google_cloud_automl_v1beta1_classification_proto_init() }
840func file_google_cloud_automl_v1beta1_classification_proto_init() {
841	if File_google_cloud_automl_v1beta1_classification_proto != nil {
842		return
843	}
844	file_google_cloud_automl_v1beta1_temporal_proto_init()
845	if !protoimpl.UnsafeEnabled {
846		file_google_cloud_automl_v1beta1_classification_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
847			switch v := v.(*ClassificationAnnotation); i {
848			case 0:
849				return &v.state
850			case 1:
851				return &v.sizeCache
852			case 2:
853				return &v.unknownFields
854			default:
855				return nil
856			}
857		}
858		file_google_cloud_automl_v1beta1_classification_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
859			switch v := v.(*VideoClassificationAnnotation); i {
860			case 0:
861				return &v.state
862			case 1:
863				return &v.sizeCache
864			case 2:
865				return &v.unknownFields
866			default:
867				return nil
868			}
869		}
870		file_google_cloud_automl_v1beta1_classification_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
871			switch v := v.(*ClassificationEvaluationMetrics); i {
872			case 0:
873				return &v.state
874			case 1:
875				return &v.sizeCache
876			case 2:
877				return &v.unknownFields
878			default:
879				return nil
880			}
881		}
882		file_google_cloud_automl_v1beta1_classification_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
883			switch v := v.(*ClassificationEvaluationMetrics_ConfidenceMetricsEntry); i {
884			case 0:
885				return &v.state
886			case 1:
887				return &v.sizeCache
888			case 2:
889				return &v.unknownFields
890			default:
891				return nil
892			}
893		}
894		file_google_cloud_automl_v1beta1_classification_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
895			switch v := v.(*ClassificationEvaluationMetrics_ConfusionMatrix); i {
896			case 0:
897				return &v.state
898			case 1:
899				return &v.sizeCache
900			case 2:
901				return &v.unknownFields
902			default:
903				return nil
904			}
905		}
906		file_google_cloud_automl_v1beta1_classification_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
907			switch v := v.(*ClassificationEvaluationMetrics_ConfusionMatrix_Row); i {
908			case 0:
909				return &v.state
910			case 1:
911				return &v.sizeCache
912			case 2:
913				return &v.unknownFields
914			default:
915				return nil
916			}
917		}
918	}
919	type x struct{}
920	out := protoimpl.TypeBuilder{
921		File: protoimpl.DescBuilder{
922			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
923			RawDescriptor: file_google_cloud_automl_v1beta1_classification_proto_rawDesc,
924			NumEnums:      1,
925			NumMessages:   6,
926			NumExtensions: 0,
927			NumServices:   0,
928		},
929		GoTypes:           file_google_cloud_automl_v1beta1_classification_proto_goTypes,
930		DependencyIndexes: file_google_cloud_automl_v1beta1_classification_proto_depIdxs,
931		EnumInfos:         file_google_cloud_automl_v1beta1_classification_proto_enumTypes,
932		MessageInfos:      file_google_cloud_automl_v1beta1_classification_proto_msgTypes,
933	}.Build()
934	File_google_cloud_automl_v1beta1_classification_proto = out.File
935	file_google_cloud_automl_v1beta1_classification_proto_rawDesc = nil
936	file_google_cloud_automl_v1beta1_classification_proto_goTypes = nil
937	file_google_cloud_automl_v1beta1_classification_proto_depIdxs = nil
938}
939