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/v1/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_v1_classification_proto_enumTypes[0].Descriptor()
77}
78
79func (ClassificationType) Type() protoreflect.EnumType {
80	return &file_google_cloud_automl_v1_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_v1_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_v1_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_v1_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_v1_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// Model evaluation metrics for classification problems.
146// Note: For Video Classification this metrics only describe quality of the
147// Video Classification predictions of "segment_classification" type.
148type ClassificationEvaluationMetrics struct {
149	state         protoimpl.MessageState
150	sizeCache     protoimpl.SizeCache
151	unknownFields protoimpl.UnknownFields
152
153	// Output only. The Area Under Precision-Recall Curve metric. Micro-averaged
154	// for the overall evaluation.
155	AuPrc float32 `protobuf:"fixed32,1,opt,name=au_prc,json=auPrc,proto3" json:"au_prc,omitempty"`
156	// Output only. The Area Under Receiver Operating Characteristic curve metric.
157	// Micro-averaged for the overall evaluation.
158	AuRoc float32 `protobuf:"fixed32,6,opt,name=au_roc,json=auRoc,proto3" json:"au_roc,omitempty"`
159	// Output only. The Log Loss metric.
160	LogLoss float32 `protobuf:"fixed32,7,opt,name=log_loss,json=logLoss,proto3" json:"log_loss,omitempty"`
161	// Output only. Metrics for each confidence_threshold in
162	// 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and
163	// position_threshold = INT32_MAX_VALUE.
164	// ROC and precision-recall curves, and other aggregated metrics are derived
165	// from them. The confidence metrics entries may also be supplied for
166	// additional values of position_threshold, but from these no aggregated
167	// metrics are computed.
168	ConfidenceMetricsEntry []*ClassificationEvaluationMetrics_ConfidenceMetricsEntry `protobuf:"bytes,3,rep,name=confidence_metrics_entry,json=confidenceMetricsEntry,proto3" json:"confidence_metrics_entry,omitempty"`
169	// Output only. Confusion matrix of the evaluation.
170	// Only set for MULTICLASS classification problems where number
171	// of labels is no more than 10.
172	// Only set for model level evaluation, not for evaluation per label.
173	ConfusionMatrix *ClassificationEvaluationMetrics_ConfusionMatrix `protobuf:"bytes,4,opt,name=confusion_matrix,json=confusionMatrix,proto3" json:"confusion_matrix,omitempty"`
174	// Output only. The annotation spec ids used for this evaluation.
175	AnnotationSpecId []string `protobuf:"bytes,5,rep,name=annotation_spec_id,json=annotationSpecId,proto3" json:"annotation_spec_id,omitempty"`
176}
177
178func (x *ClassificationEvaluationMetrics) Reset() {
179	*x = ClassificationEvaluationMetrics{}
180	if protoimpl.UnsafeEnabled {
181		mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[1]
182		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
183		ms.StoreMessageInfo(mi)
184	}
185}
186
187func (x *ClassificationEvaluationMetrics) String() string {
188	return protoimpl.X.MessageStringOf(x)
189}
190
191func (*ClassificationEvaluationMetrics) ProtoMessage() {}
192
193func (x *ClassificationEvaluationMetrics) ProtoReflect() protoreflect.Message {
194	mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[1]
195	if protoimpl.UnsafeEnabled && x != nil {
196		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
197		if ms.LoadMessageInfo() == nil {
198			ms.StoreMessageInfo(mi)
199		}
200		return ms
201	}
202	return mi.MessageOf(x)
203}
204
205// Deprecated: Use ClassificationEvaluationMetrics.ProtoReflect.Descriptor instead.
206func (*ClassificationEvaluationMetrics) Descriptor() ([]byte, []int) {
207	return file_google_cloud_automl_v1_classification_proto_rawDescGZIP(), []int{1}
208}
209
210func (x *ClassificationEvaluationMetrics) GetAuPrc() float32 {
211	if x != nil {
212		return x.AuPrc
213	}
214	return 0
215}
216
217func (x *ClassificationEvaluationMetrics) GetAuRoc() float32 {
218	if x != nil {
219		return x.AuRoc
220	}
221	return 0
222}
223
224func (x *ClassificationEvaluationMetrics) GetLogLoss() float32 {
225	if x != nil {
226		return x.LogLoss
227	}
228	return 0
229}
230
231func (x *ClassificationEvaluationMetrics) GetConfidenceMetricsEntry() []*ClassificationEvaluationMetrics_ConfidenceMetricsEntry {
232	if x != nil {
233		return x.ConfidenceMetricsEntry
234	}
235	return nil
236}
237
238func (x *ClassificationEvaluationMetrics) GetConfusionMatrix() *ClassificationEvaluationMetrics_ConfusionMatrix {
239	if x != nil {
240		return x.ConfusionMatrix
241	}
242	return nil
243}
244
245func (x *ClassificationEvaluationMetrics) GetAnnotationSpecId() []string {
246	if x != nil {
247		return x.AnnotationSpecId
248	}
249	return nil
250}
251
252// Metrics for a single confidence threshold.
253type ClassificationEvaluationMetrics_ConfidenceMetricsEntry struct {
254	state         protoimpl.MessageState
255	sizeCache     protoimpl.SizeCache
256	unknownFields protoimpl.UnknownFields
257
258	// Output only. Metrics are computed with an assumption that the model
259	// never returns predictions with score lower than this value.
260	ConfidenceThreshold float32 `protobuf:"fixed32,1,opt,name=confidence_threshold,json=confidenceThreshold,proto3" json:"confidence_threshold,omitempty"`
261	// Output only. Metrics are computed with an assumption that the model
262	// always returns at most this many predictions (ordered by their score,
263	// descendingly), but they all still need to meet the confidence_threshold.
264	PositionThreshold int32 `protobuf:"varint,14,opt,name=position_threshold,json=positionThreshold,proto3" json:"position_threshold,omitempty"`
265	// Output only. Recall (True Positive Rate) for the given confidence
266	// threshold.
267	Recall float32 `protobuf:"fixed32,2,opt,name=recall,proto3" json:"recall,omitempty"`
268	// Output only. Precision for the given confidence threshold.
269	Precision float32 `protobuf:"fixed32,3,opt,name=precision,proto3" json:"precision,omitempty"`
270	// Output only. False Positive Rate for the given confidence threshold.
271	FalsePositiveRate float32 `protobuf:"fixed32,8,opt,name=false_positive_rate,json=falsePositiveRate,proto3" json:"false_positive_rate,omitempty"`
272	// Output only. The harmonic mean of recall and precision.
273	F1Score float32 `protobuf:"fixed32,4,opt,name=f1_score,json=f1Score,proto3" json:"f1_score,omitempty"`
274	// Output only. The Recall (True Positive Rate) when only considering the
275	// label that has the highest prediction score and not below the confidence
276	// threshold for each example.
277	RecallAt1 float32 `protobuf:"fixed32,5,opt,name=recall_at1,json=recallAt1,proto3" json:"recall_at1,omitempty"`
278	// Output only. The precision when only considering the label that has the
279	// highest prediction score and not below the confidence threshold for each
280	// example.
281	PrecisionAt1 float32 `protobuf:"fixed32,6,opt,name=precision_at1,json=precisionAt1,proto3" json:"precision_at1,omitempty"`
282	// Output only. The False Positive Rate when only considering the label that
283	// has the highest prediction score and not below the confidence threshold
284	// for each example.
285	FalsePositiveRateAt1 float32 `protobuf:"fixed32,9,opt,name=false_positive_rate_at1,json=falsePositiveRateAt1,proto3" json:"false_positive_rate_at1,omitempty"`
286	// Output only. The harmonic mean of [recall_at1][google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry.recall_at1] and [precision_at1][google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry.precision_at1].
287	F1ScoreAt1 float32 `protobuf:"fixed32,7,opt,name=f1_score_at1,json=f1ScoreAt1,proto3" json:"f1_score_at1,omitempty"`
288	// Output only. The number of model created labels that match a ground truth
289	// label.
290	TruePositiveCount int64 `protobuf:"varint,10,opt,name=true_positive_count,json=truePositiveCount,proto3" json:"true_positive_count,omitempty"`
291	// Output only. The number of model created labels that do not match a
292	// ground truth label.
293	FalsePositiveCount int64 `protobuf:"varint,11,opt,name=false_positive_count,json=falsePositiveCount,proto3" json:"false_positive_count,omitempty"`
294	// Output only. The number of ground truth labels that are not matched
295	// by a model created label.
296	FalseNegativeCount int64 `protobuf:"varint,12,opt,name=false_negative_count,json=falseNegativeCount,proto3" json:"false_negative_count,omitempty"`
297	// Output only. The number of labels that were not created by the model,
298	// but if they would, they would not match a ground truth label.
299	TrueNegativeCount int64 `protobuf:"varint,13,opt,name=true_negative_count,json=trueNegativeCount,proto3" json:"true_negative_count,omitempty"`
300}
301
302func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) Reset() {
303	*x = ClassificationEvaluationMetrics_ConfidenceMetricsEntry{}
304	if protoimpl.UnsafeEnabled {
305		mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[2]
306		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
307		ms.StoreMessageInfo(mi)
308	}
309}
310
311func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) String() string {
312	return protoimpl.X.MessageStringOf(x)
313}
314
315func (*ClassificationEvaluationMetrics_ConfidenceMetricsEntry) ProtoMessage() {}
316
317func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) ProtoReflect() protoreflect.Message {
318	mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[2]
319	if protoimpl.UnsafeEnabled && x != nil {
320		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
321		if ms.LoadMessageInfo() == nil {
322			ms.StoreMessageInfo(mi)
323		}
324		return ms
325	}
326	return mi.MessageOf(x)
327}
328
329// Deprecated: Use ClassificationEvaluationMetrics_ConfidenceMetricsEntry.ProtoReflect.Descriptor instead.
330func (*ClassificationEvaluationMetrics_ConfidenceMetricsEntry) Descriptor() ([]byte, []int) {
331	return file_google_cloud_automl_v1_classification_proto_rawDescGZIP(), []int{1, 0}
332}
333
334func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetConfidenceThreshold() float32 {
335	if x != nil {
336		return x.ConfidenceThreshold
337	}
338	return 0
339}
340
341func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetPositionThreshold() int32 {
342	if x != nil {
343		return x.PositionThreshold
344	}
345	return 0
346}
347
348func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetRecall() float32 {
349	if x != nil {
350		return x.Recall
351	}
352	return 0
353}
354
355func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetPrecision() float32 {
356	if x != nil {
357		return x.Precision
358	}
359	return 0
360}
361
362func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalsePositiveRate() float32 {
363	if x != nil {
364		return x.FalsePositiveRate
365	}
366	return 0
367}
368
369func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetF1Score() float32 {
370	if x != nil {
371		return x.F1Score
372	}
373	return 0
374}
375
376func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetRecallAt1() float32 {
377	if x != nil {
378		return x.RecallAt1
379	}
380	return 0
381}
382
383func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetPrecisionAt1() float32 {
384	if x != nil {
385		return x.PrecisionAt1
386	}
387	return 0
388}
389
390func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalsePositiveRateAt1() float32 {
391	if x != nil {
392		return x.FalsePositiveRateAt1
393	}
394	return 0
395}
396
397func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetF1ScoreAt1() float32 {
398	if x != nil {
399		return x.F1ScoreAt1
400	}
401	return 0
402}
403
404func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetTruePositiveCount() int64 {
405	if x != nil {
406		return x.TruePositiveCount
407	}
408	return 0
409}
410
411func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalsePositiveCount() int64 {
412	if x != nil {
413		return x.FalsePositiveCount
414	}
415	return 0
416}
417
418func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetFalseNegativeCount() int64 {
419	if x != nil {
420		return x.FalseNegativeCount
421	}
422	return 0
423}
424
425func (x *ClassificationEvaluationMetrics_ConfidenceMetricsEntry) GetTrueNegativeCount() int64 {
426	if x != nil {
427		return x.TrueNegativeCount
428	}
429	return 0
430}
431
432// Confusion matrix of the model running the classification.
433type ClassificationEvaluationMetrics_ConfusionMatrix struct {
434	state         protoimpl.MessageState
435	sizeCache     protoimpl.SizeCache
436	unknownFields protoimpl.UnknownFields
437
438	// Output only. IDs of the annotation specs used in the confusion matrix.
439	// For Tables CLASSIFICATION
440	//
441	// [prediction_type][google.cloud.automl.v1p1beta.TablesModelMetadata.prediction_type]
442	// only list of [annotation_spec_display_name-s][] is populated.
443	AnnotationSpecId []string `protobuf:"bytes,1,rep,name=annotation_spec_id,json=annotationSpecId,proto3" json:"annotation_spec_id,omitempty"`
444	// Output only. Display name of the annotation specs used in the confusion
445	// matrix, as they were at the moment of the evaluation. For Tables
446	// CLASSIFICATION
447	//
448	// [prediction_type-s][google.cloud.automl.v1p1beta.TablesModelMetadata.prediction_type],
449	// distinct values of the target column at the moment of the model
450	// evaluation are populated here.
451	DisplayName []string `protobuf:"bytes,3,rep,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
452	// Output only. Rows in the confusion matrix. The number of rows is equal to
453	// the size of `annotation_spec_id`.
454	// `row[i].example_count[j]` is the number of examples that have ground
455	// truth of the `annotation_spec_id[i]` and are predicted as
456	// `annotation_spec_id[j]` by the model being evaluated.
457	Row []*ClassificationEvaluationMetrics_ConfusionMatrix_Row `protobuf:"bytes,2,rep,name=row,proto3" json:"row,omitempty"`
458}
459
460func (x *ClassificationEvaluationMetrics_ConfusionMatrix) Reset() {
461	*x = ClassificationEvaluationMetrics_ConfusionMatrix{}
462	if protoimpl.UnsafeEnabled {
463		mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[3]
464		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
465		ms.StoreMessageInfo(mi)
466	}
467}
468
469func (x *ClassificationEvaluationMetrics_ConfusionMatrix) String() string {
470	return protoimpl.X.MessageStringOf(x)
471}
472
473func (*ClassificationEvaluationMetrics_ConfusionMatrix) ProtoMessage() {}
474
475func (x *ClassificationEvaluationMetrics_ConfusionMatrix) ProtoReflect() protoreflect.Message {
476	mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[3]
477	if protoimpl.UnsafeEnabled && x != nil {
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		if ms.LoadMessageInfo() == nil {
480			ms.StoreMessageInfo(mi)
481		}
482		return ms
483	}
484	return mi.MessageOf(x)
485}
486
487// Deprecated: Use ClassificationEvaluationMetrics_ConfusionMatrix.ProtoReflect.Descriptor instead.
488func (*ClassificationEvaluationMetrics_ConfusionMatrix) Descriptor() ([]byte, []int) {
489	return file_google_cloud_automl_v1_classification_proto_rawDescGZIP(), []int{1, 1}
490}
491
492func (x *ClassificationEvaluationMetrics_ConfusionMatrix) GetAnnotationSpecId() []string {
493	if x != nil {
494		return x.AnnotationSpecId
495	}
496	return nil
497}
498
499func (x *ClassificationEvaluationMetrics_ConfusionMatrix) GetDisplayName() []string {
500	if x != nil {
501		return x.DisplayName
502	}
503	return nil
504}
505
506func (x *ClassificationEvaluationMetrics_ConfusionMatrix) GetRow() []*ClassificationEvaluationMetrics_ConfusionMatrix_Row {
507	if x != nil {
508		return x.Row
509	}
510	return nil
511}
512
513// Output only. A row in the confusion matrix.
514type ClassificationEvaluationMetrics_ConfusionMatrix_Row struct {
515	state         protoimpl.MessageState
516	sizeCache     protoimpl.SizeCache
517	unknownFields protoimpl.UnknownFields
518
519	// Output only. Value of the specific cell in the confusion matrix.
520	// The number of values each row has (i.e. the length of the row) is equal
521	// to the length of the `annotation_spec_id` field or, if that one is not
522	// populated, length of the [display_name][google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfusionMatrix.display_name] field.
523	ExampleCount []int32 `protobuf:"varint,1,rep,packed,name=example_count,json=exampleCount,proto3" json:"example_count,omitempty"`
524}
525
526func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) Reset() {
527	*x = ClassificationEvaluationMetrics_ConfusionMatrix_Row{}
528	if protoimpl.UnsafeEnabled {
529		mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[4]
530		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
531		ms.StoreMessageInfo(mi)
532	}
533}
534
535func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) String() string {
536	return protoimpl.X.MessageStringOf(x)
537}
538
539func (*ClassificationEvaluationMetrics_ConfusionMatrix_Row) ProtoMessage() {}
540
541func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) ProtoReflect() protoreflect.Message {
542	mi := &file_google_cloud_automl_v1_classification_proto_msgTypes[4]
543	if protoimpl.UnsafeEnabled && x != nil {
544		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
545		if ms.LoadMessageInfo() == nil {
546			ms.StoreMessageInfo(mi)
547		}
548		return ms
549	}
550	return mi.MessageOf(x)
551}
552
553// Deprecated: Use ClassificationEvaluationMetrics_ConfusionMatrix_Row.ProtoReflect.Descriptor instead.
554func (*ClassificationEvaluationMetrics_ConfusionMatrix_Row) Descriptor() ([]byte, []int) {
555	return file_google_cloud_automl_v1_classification_proto_rawDescGZIP(), []int{1, 1, 0}
556}
557
558func (x *ClassificationEvaluationMetrics_ConfusionMatrix_Row) GetExampleCount() []int32 {
559	if x != nil {
560		return x.ExampleCount
561	}
562	return nil
563}
564
565var File_google_cloud_automl_v1_classification_proto protoreflect.FileDescriptor
566
567var file_google_cloud_automl_v1_classification_proto_rawDesc = []byte{
568	0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
569	0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66,
570	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67,
571	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74, 0x6f,
572	0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
573	0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
574	0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x18, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63,
575	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
576	0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05,
577	0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xe6, 0x09, 0x0a, 0x1f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
578	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69,
579	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x75, 0x5f,
580	0x70, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x61, 0x75, 0x50, 0x72, 0x63,
581	0x12, 0x15, 0x0a, 0x06, 0x61, 0x75, 0x5f, 0x72, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02,
582	0x52, 0x05, 0x61, 0x75, 0x52, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6c,
583	0x6f, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4c, 0x6f,
584	0x73, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
585	0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18,
586	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
587	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43,
588	0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61,
589	0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43,
590	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
591	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
592	0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x72, 0x0a,
593	0x10, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69,
594	0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
595	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31,
596	0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
597	0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
598	0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78,
599	0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69,
600	0x78, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
601	0x73, 0x70, 0x65, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61,
602	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x1a,
603	0xdc, 0x04, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65,
604	0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f,
605	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
606	0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
607	0x65, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2d, 0x0a,
608	0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
609	0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74,
610	0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06,
611	0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x72, 0x65,
612	0x63, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f,
613	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69,
614	0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69,
615	0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52,
616	0x11, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61,
617	0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04,
618	0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a,
619	0x0a, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28,
620	0x02, 0x52, 0x09, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x31, 0x12, 0x23, 0x0a, 0x0d,
621	0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x06, 0x20,
622	0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x74,
623	0x31, 0x12, 0x35, 0x0a, 0x17, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
624	0x69, 0x76, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x09, 0x20, 0x01,
625	0x28, 0x02, 0x52, 0x14, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76,
626	0x65, 0x52, 0x61, 0x74, 0x65, 0x41, 0x74, 0x31, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x31, 0x5f, 0x73,
627	0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a,
628	0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x74, 0x31, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x72,
629	0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
630	0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x72, 0x75, 0x65, 0x50, 0x6f, 0x73,
631	0x69, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61,
632	0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75,
633	0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50,
634	0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14,
635	0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63,
636	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x73,
637	0x65, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e,
638	0x0a, 0x13, 0x74, 0x72, 0x75, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
639	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x72, 0x75,
640	0x65, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xed,
641	0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72,
642	0x69, 0x78, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
643	0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10,
644	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64,
645	0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
646	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
647	0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x03, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
648	0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
649	0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
650	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69,
651	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73,
652	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x03, 0x72,
653	0x6f, 0x77, 0x1a, 0x2a, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x61,
654	0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
655	0x52, 0x0c, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x2a, 0x59,
656	0x0a, 0x12, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
657	0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49,
658	0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
659	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x4c,
660	0x54, 0x49, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x4c,
661	0x54, 0x49, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x02, 0x42, 0xbf, 0x01, 0x0a, 0x1a, 0x63, 0x6f,
662	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
663	0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
664	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
665	0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
666	0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
667	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x75, 0x74,
668	0x6f, 0x6d, 0x6c, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0xaa, 0x02, 0x16,
669	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x75, 0x74,
670	0x6f, 0x4d, 0x4c, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c,
671	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x6c, 0x5c, 0x56, 0x31, 0xea,
672	0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a,
673	0x3a, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x4c, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
674	0x74, 0x6f, 0x33,
675}
676
677var (
678	file_google_cloud_automl_v1_classification_proto_rawDescOnce sync.Once
679	file_google_cloud_automl_v1_classification_proto_rawDescData = file_google_cloud_automl_v1_classification_proto_rawDesc
680)
681
682func file_google_cloud_automl_v1_classification_proto_rawDescGZIP() []byte {
683	file_google_cloud_automl_v1_classification_proto_rawDescOnce.Do(func() {
684		file_google_cloud_automl_v1_classification_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_automl_v1_classification_proto_rawDescData)
685	})
686	return file_google_cloud_automl_v1_classification_proto_rawDescData
687}
688
689var file_google_cloud_automl_v1_classification_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
690var file_google_cloud_automl_v1_classification_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
691var file_google_cloud_automl_v1_classification_proto_goTypes = []interface{}{
692	(ClassificationType)(0),                                        // 0: google.cloud.automl.v1.ClassificationType
693	(*ClassificationAnnotation)(nil),                               // 1: google.cloud.automl.v1.ClassificationAnnotation
694	(*ClassificationEvaluationMetrics)(nil),                        // 2: google.cloud.automl.v1.ClassificationEvaluationMetrics
695	(*ClassificationEvaluationMetrics_ConfidenceMetricsEntry)(nil), // 3: google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry
696	(*ClassificationEvaluationMetrics_ConfusionMatrix)(nil),        // 4: google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfusionMatrix
697	(*ClassificationEvaluationMetrics_ConfusionMatrix_Row)(nil),    // 5: google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfusionMatrix.Row
698}
699var file_google_cloud_automl_v1_classification_proto_depIdxs = []int32{
700	3, // 0: google.cloud.automl.v1.ClassificationEvaluationMetrics.confidence_metrics_entry:type_name -> google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfidenceMetricsEntry
701	4, // 1: google.cloud.automl.v1.ClassificationEvaluationMetrics.confusion_matrix:type_name -> google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfusionMatrix
702	5, // 2: google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfusionMatrix.row:type_name -> google.cloud.automl.v1.ClassificationEvaluationMetrics.ConfusionMatrix.Row
703	3, // [3:3] is the sub-list for method output_type
704	3, // [3:3] is the sub-list for method input_type
705	3, // [3:3] is the sub-list for extension type_name
706	3, // [3:3] is the sub-list for extension extendee
707	0, // [0:3] is the sub-list for field type_name
708}
709
710func init() { file_google_cloud_automl_v1_classification_proto_init() }
711func file_google_cloud_automl_v1_classification_proto_init() {
712	if File_google_cloud_automl_v1_classification_proto != nil {
713		return
714	}
715	if !protoimpl.UnsafeEnabled {
716		file_google_cloud_automl_v1_classification_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
717			switch v := v.(*ClassificationAnnotation); i {
718			case 0:
719				return &v.state
720			case 1:
721				return &v.sizeCache
722			case 2:
723				return &v.unknownFields
724			default:
725				return nil
726			}
727		}
728		file_google_cloud_automl_v1_classification_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
729			switch v := v.(*ClassificationEvaluationMetrics); i {
730			case 0:
731				return &v.state
732			case 1:
733				return &v.sizeCache
734			case 2:
735				return &v.unknownFields
736			default:
737				return nil
738			}
739		}
740		file_google_cloud_automl_v1_classification_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
741			switch v := v.(*ClassificationEvaluationMetrics_ConfidenceMetricsEntry); i {
742			case 0:
743				return &v.state
744			case 1:
745				return &v.sizeCache
746			case 2:
747				return &v.unknownFields
748			default:
749				return nil
750			}
751		}
752		file_google_cloud_automl_v1_classification_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
753			switch v := v.(*ClassificationEvaluationMetrics_ConfusionMatrix); i {
754			case 0:
755				return &v.state
756			case 1:
757				return &v.sizeCache
758			case 2:
759				return &v.unknownFields
760			default:
761				return nil
762			}
763		}
764		file_google_cloud_automl_v1_classification_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
765			switch v := v.(*ClassificationEvaluationMetrics_ConfusionMatrix_Row); i {
766			case 0:
767				return &v.state
768			case 1:
769				return &v.sizeCache
770			case 2:
771				return &v.unknownFields
772			default:
773				return nil
774			}
775		}
776	}
777	type x struct{}
778	out := protoimpl.TypeBuilder{
779		File: protoimpl.DescBuilder{
780			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
781			RawDescriptor: file_google_cloud_automl_v1_classification_proto_rawDesc,
782			NumEnums:      1,
783			NumMessages:   5,
784			NumExtensions: 0,
785			NumServices:   0,
786		},
787		GoTypes:           file_google_cloud_automl_v1_classification_proto_goTypes,
788		DependencyIndexes: file_google_cloud_automl_v1_classification_proto_depIdxs,
789		EnumInfos:         file_google_cloud_automl_v1_classification_proto_enumTypes,
790		MessageInfos:      file_google_cloud_automl_v1_classification_proto_msgTypes,
791	}.Build()
792	File_google_cloud_automl_v1_classification_proto = out.File
793	file_google_cloud_automl_v1_classification_proto_rawDesc = nil
794	file_google_cloud_automl_v1_classification_proto_goTypes = nil
795	file_google_cloud_automl_v1_classification_proto_depIdxs = nil
796}
797