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