1// Copyright 2021 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/aiplatform/v1beta1/explanation.proto
20
21package aiplatform
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	structpb "google.golang.org/protobuf/types/known/structpb"
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// Explanation of a prediction (provided in [PredictResponse.predictions][google.cloud.aiplatform.v1beta1.PredictResponse.predictions])
41// produced by the Model on a given [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances].
42type Explanation struct {
43	state         protoimpl.MessageState
44	sizeCache     protoimpl.SizeCache
45	unknownFields protoimpl.UnknownFields
46
47	// Output only. Feature attributions grouped by predicted outputs.
48	//
49	// For Models that predict only one output, such as regression Models that
50	// predict only one score, there is only one attibution that explains the
51	// predicted output. For Models that predict multiple outputs, such as
52	// multiclass Models that predict multiple classes, each element explains one
53	// specific item. [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] can be used to identify which
54	// output this attribution is explaining.
55	//
56	// If users set [ExplanationParameters.top_k][google.cloud.aiplatform.v1beta1.ExplanationParameters.top_k], the attributions are sorted
57	// by [instance_output_value][Attributions.instance_output_value] in
58	// descending order. If [ExplanationParameters.output_indices][google.cloud.aiplatform.v1beta1.ExplanationParameters.output_indices] is specified,
59	// the attributions are stored by [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] in the same
60	// order as they appear in the output_indices.
61	Attributions []*Attribution `protobuf:"bytes,1,rep,name=attributions,proto3" json:"attributions,omitempty"`
62}
63
64func (x *Explanation) Reset() {
65	*x = Explanation{}
66	if protoimpl.UnsafeEnabled {
67		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0]
68		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
69		ms.StoreMessageInfo(mi)
70	}
71}
72
73func (x *Explanation) String() string {
74	return protoimpl.X.MessageStringOf(x)
75}
76
77func (*Explanation) ProtoMessage() {}
78
79func (x *Explanation) ProtoReflect() protoreflect.Message {
80	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0]
81	if protoimpl.UnsafeEnabled && x != nil {
82		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
83		if ms.LoadMessageInfo() == nil {
84			ms.StoreMessageInfo(mi)
85		}
86		return ms
87	}
88	return mi.MessageOf(x)
89}
90
91// Deprecated: Use Explanation.ProtoReflect.Descriptor instead.
92func (*Explanation) Descriptor() ([]byte, []int) {
93	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{0}
94}
95
96func (x *Explanation) GetAttributions() []*Attribution {
97	if x != nil {
98		return x.Attributions
99	}
100	return nil
101}
102
103// Aggregated explanation metrics for a Model over a set of instances.
104type ModelExplanation struct {
105	state         protoimpl.MessageState
106	sizeCache     protoimpl.SizeCache
107	unknownFields protoimpl.UnknownFields
108
109	// Output only. Aggregated attributions explaining the Model's prediction outputs over the
110	// set of instances. The attributions are grouped by outputs.
111	//
112	// For Models that predict only one output, such as regression Models that
113	// predict only one score, there is only one attibution that explains the
114	// predicted output. For Models that predict multiple outputs, such as
115	// multiclass Models that predict multiple classes, each element explains one
116	// specific item. [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] can be used to identify which
117	// output this attribution is explaining.
118	//
119	// The [baselineOutputValue][google.cloud.aiplatform.v1beta1.Attribution.baseline_output_value],
120	// [instanceOutputValue][google.cloud.aiplatform.v1beta1.Attribution.instance_output_value] and
121	// [featureAttributions][google.cloud.aiplatform.v1beta1.Attribution.feature_attributions] fields are
122	// averaged over the test data.
123	//
124	// NOTE: Currently AutoML tabular classification Models produce only one
125	// attribution, which averages attributions over all the classes it predicts.
126	// [Attribution.approximation_error][google.cloud.aiplatform.v1beta1.Attribution.approximation_error] is not populated.
127	MeanAttributions []*Attribution `protobuf:"bytes,1,rep,name=mean_attributions,json=meanAttributions,proto3" json:"mean_attributions,omitempty"`
128}
129
130func (x *ModelExplanation) Reset() {
131	*x = ModelExplanation{}
132	if protoimpl.UnsafeEnabled {
133		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1]
134		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
135		ms.StoreMessageInfo(mi)
136	}
137}
138
139func (x *ModelExplanation) String() string {
140	return protoimpl.X.MessageStringOf(x)
141}
142
143func (*ModelExplanation) ProtoMessage() {}
144
145func (x *ModelExplanation) ProtoReflect() protoreflect.Message {
146	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1]
147	if protoimpl.UnsafeEnabled && x != nil {
148		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
149		if ms.LoadMessageInfo() == nil {
150			ms.StoreMessageInfo(mi)
151		}
152		return ms
153	}
154	return mi.MessageOf(x)
155}
156
157// Deprecated: Use ModelExplanation.ProtoReflect.Descriptor instead.
158func (*ModelExplanation) Descriptor() ([]byte, []int) {
159	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{1}
160}
161
162func (x *ModelExplanation) GetMeanAttributions() []*Attribution {
163	if x != nil {
164		return x.MeanAttributions
165	}
166	return nil
167}
168
169// Attribution that explains a particular prediction output.
170type Attribution struct {
171	state         protoimpl.MessageState
172	sizeCache     protoimpl.SizeCache
173	unknownFields protoimpl.UnknownFields
174
175	// Output only. Model predicted output if the input instance is constructed from the
176	// baselines of all the features defined in [ExplanationMetadata.inputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs].
177	// The field name of the output is determined by the key in
178	// [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs].
179	//
180	// If the Model's predicted output has multiple dimensions (rank > 1), this is
181	// the value in the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index].
182	//
183	// If there are multiple baselines, their output values are averaged.
184	BaselineOutputValue float64 `protobuf:"fixed64,1,opt,name=baseline_output_value,json=baselineOutputValue,proto3" json:"baseline_output_value,omitempty"`
185	// Output only. Model predicted output on the corresponding [explanation
186	// instance][ExplainRequest.instances]. The field name of the output is
187	// determined by the key in [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs].
188	//
189	// If the Model predicted output has multiple dimensions, this is the value in
190	// the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index].
191	InstanceOutputValue float64 `protobuf:"fixed64,2,opt,name=instance_output_value,json=instanceOutputValue,proto3" json:"instance_output_value,omitempty"`
192	// Output only. Attributions of each explained feature. Features are extracted from
193	// the [prediction instances][google.cloud.aiplatform.v1beta1.ExplainRequest.instances] according to
194	// [explanation metadata for inputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs].
195	//
196	// The value is a struct, whose keys are the name of the feature. The values
197	// are how much the feature in the [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances]
198	// contributed to the predicted result.
199	//
200	// The format of the value is determined by the feature's input format:
201	//
202	//   * If the feature is a scalar value, the attribution value is a
203	//     [floating number][google.protobuf.Value.number_value].
204	//
205	//   * If the feature is an array of scalar values, the attribution value is
206	//     an [array][google.protobuf.Value.list_value].
207	//
208	//   * If the feature is a struct, the attribution value is a
209	//     [struct][google.protobuf.Value.struct_value]. The keys in the
210	//     attribution value struct are the same as the keys in the feature
211	//     struct. The formats of the values in the attribution struct are
212	//     determined by the formats of the values in the feature struct.
213	//
214	// The [ExplanationMetadata.feature_attributions_schema_uri][google.cloud.aiplatform.v1beta1.ExplanationMetadata.feature_attributions_schema_uri] field,
215	// pointed to by the [ExplanationSpec][google.cloud.aiplatform.v1beta1.ExplanationSpec] field of the
216	// [Endpoint.deployed_models][google.cloud.aiplatform.v1beta1.Endpoint.deployed_models] object, points to the schema file that
217	// describes the features and their attribution values (if it is populated).
218	FeatureAttributions *structpb.Value `protobuf:"bytes,3,opt,name=feature_attributions,json=featureAttributions,proto3" json:"feature_attributions,omitempty"`
219	// Output only. The index that locates the explained prediction output.
220	//
221	// If the prediction output is a scalar value, output_index is not populated.
222	// If the prediction output has multiple dimensions, the length of the
223	// output_index list is the same as the number of dimensions of the output.
224	// The i-th element in output_index is the element index of the i-th dimension
225	// of the output vector. Indices start from 0.
226	OutputIndex []int32 `protobuf:"varint,4,rep,packed,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"`
227	// Output only. The display name of the output identified by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index]. For example,
228	// the predicted class name by a multi-classification Model.
229	//
230	// This field is only populated iff the Model predicts display names as a
231	// separate field along with the explained output. The predicted display name
232	// must has the same shape of the explained output, and can be located using
233	// output_index.
234	OutputDisplayName string `protobuf:"bytes,5,opt,name=output_display_name,json=outputDisplayName,proto3" json:"output_display_name,omitempty"`
235	// Output only. Error of [feature_attributions][google.cloud.aiplatform.v1beta1.Attribution.feature_attributions] caused by approximation used in the
236	// explanation method. Lower value means more precise attributions.
237	//
238	// * For Sampled Shapley
239	// [attribution][google.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution],
240	// increasing [path_count][google.cloud.aiplatform.v1beta1.SampledShapleyAttribution.path_count] might reduce
241	// the error.
242	// * For Integrated Gradients
243	// [attribution][google.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution],
244	// increasing [step_count][google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution.step_count] might
245	// reduce the error.
246	// * For [XRAI attribution][google.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution],
247	// increasing
248	// [step_count][google.cloud.aiplatform.v1beta1.XraiAttribution.step_count] might reduce the error.
249	//
250	// See [this introduction](/vertex-ai/docs/explainable-ai/overview)
251	// for more information.
252	ApproximationError float64 `protobuf:"fixed64,6,opt,name=approximation_error,json=approximationError,proto3" json:"approximation_error,omitempty"`
253	// Output only. Name of the explain output. Specified as the key in
254	// [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs].
255	OutputName string `protobuf:"bytes,7,opt,name=output_name,json=outputName,proto3" json:"output_name,omitempty"`
256}
257
258func (x *Attribution) Reset() {
259	*x = Attribution{}
260	if protoimpl.UnsafeEnabled {
261		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2]
262		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
263		ms.StoreMessageInfo(mi)
264	}
265}
266
267func (x *Attribution) String() string {
268	return protoimpl.X.MessageStringOf(x)
269}
270
271func (*Attribution) ProtoMessage() {}
272
273func (x *Attribution) ProtoReflect() protoreflect.Message {
274	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2]
275	if protoimpl.UnsafeEnabled && x != nil {
276		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
277		if ms.LoadMessageInfo() == nil {
278			ms.StoreMessageInfo(mi)
279		}
280		return ms
281	}
282	return mi.MessageOf(x)
283}
284
285// Deprecated: Use Attribution.ProtoReflect.Descriptor instead.
286func (*Attribution) Descriptor() ([]byte, []int) {
287	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{2}
288}
289
290func (x *Attribution) GetBaselineOutputValue() float64 {
291	if x != nil {
292		return x.BaselineOutputValue
293	}
294	return 0
295}
296
297func (x *Attribution) GetInstanceOutputValue() float64 {
298	if x != nil {
299		return x.InstanceOutputValue
300	}
301	return 0
302}
303
304func (x *Attribution) GetFeatureAttributions() *structpb.Value {
305	if x != nil {
306		return x.FeatureAttributions
307	}
308	return nil
309}
310
311func (x *Attribution) GetOutputIndex() []int32 {
312	if x != nil {
313		return x.OutputIndex
314	}
315	return nil
316}
317
318func (x *Attribution) GetOutputDisplayName() string {
319	if x != nil {
320		return x.OutputDisplayName
321	}
322	return ""
323}
324
325func (x *Attribution) GetApproximationError() float64 {
326	if x != nil {
327		return x.ApproximationError
328	}
329	return 0
330}
331
332func (x *Attribution) GetOutputName() string {
333	if x != nil {
334		return x.OutputName
335	}
336	return ""
337}
338
339// Specification of Model explanation.
340type ExplanationSpec struct {
341	state         protoimpl.MessageState
342	sizeCache     protoimpl.SizeCache
343	unknownFields protoimpl.UnknownFields
344
345	// Required. Parameters that configure explaining of the Model's predictions.
346	Parameters *ExplanationParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"`
347	// Required. Metadata describing the Model's input and output for explanation.
348	Metadata *ExplanationMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
349}
350
351func (x *ExplanationSpec) Reset() {
352	*x = ExplanationSpec{}
353	if protoimpl.UnsafeEnabled {
354		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3]
355		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
356		ms.StoreMessageInfo(mi)
357	}
358}
359
360func (x *ExplanationSpec) String() string {
361	return protoimpl.X.MessageStringOf(x)
362}
363
364func (*ExplanationSpec) ProtoMessage() {}
365
366func (x *ExplanationSpec) ProtoReflect() protoreflect.Message {
367	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3]
368	if protoimpl.UnsafeEnabled && x != nil {
369		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
370		if ms.LoadMessageInfo() == nil {
371			ms.StoreMessageInfo(mi)
372		}
373		return ms
374	}
375	return mi.MessageOf(x)
376}
377
378// Deprecated: Use ExplanationSpec.ProtoReflect.Descriptor instead.
379func (*ExplanationSpec) Descriptor() ([]byte, []int) {
380	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{3}
381}
382
383func (x *ExplanationSpec) GetParameters() *ExplanationParameters {
384	if x != nil {
385		return x.Parameters
386	}
387	return nil
388}
389
390func (x *ExplanationSpec) GetMetadata() *ExplanationMetadata {
391	if x != nil {
392		return x.Metadata
393	}
394	return nil
395}
396
397// Parameters to configure explaining for Model's predictions.
398type ExplanationParameters struct {
399	state         protoimpl.MessageState
400	sizeCache     protoimpl.SizeCache
401	unknownFields protoimpl.UnknownFields
402
403	// Types that are assignable to Method:
404	//	*ExplanationParameters_SampledShapleyAttribution
405	//	*ExplanationParameters_IntegratedGradientsAttribution
406	//	*ExplanationParameters_XraiAttribution
407	//	*ExplanationParameters_Similarity
408	Method isExplanationParameters_Method `protobuf_oneof:"method"`
409	// If populated, returns attributions for top K indices of outputs
410	// (defaults to 1). Only applies to Models that predicts more than one outputs
411	// (e,g, multi-class Models). When set to -1, returns explanations for all
412	// outputs.
413	TopK int32 `protobuf:"varint,4,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"`
414	// If populated, only returns attributions that have
415	// [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] contained in output_indices. It
416	// must be an ndarray of integers, with the same shape of the output it's
417	// explaining.
418	//
419	// If not populated, returns attributions for [top_k][google.cloud.aiplatform.v1beta1.ExplanationParameters.top_k] indices of outputs.
420	// If neither top_k nor output_indeices is populated, returns the argmax
421	// index of the outputs.
422	//
423	// Only applicable to Models that predict multiple outputs (e,g, multi-class
424	// Models that predict multiple classes).
425	OutputIndices *structpb.ListValue `protobuf:"bytes,5,opt,name=output_indices,json=outputIndices,proto3" json:"output_indices,omitempty"`
426}
427
428func (x *ExplanationParameters) Reset() {
429	*x = ExplanationParameters{}
430	if protoimpl.UnsafeEnabled {
431		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4]
432		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
433		ms.StoreMessageInfo(mi)
434	}
435}
436
437func (x *ExplanationParameters) String() string {
438	return protoimpl.X.MessageStringOf(x)
439}
440
441func (*ExplanationParameters) ProtoMessage() {}
442
443func (x *ExplanationParameters) ProtoReflect() protoreflect.Message {
444	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4]
445	if protoimpl.UnsafeEnabled && x != nil {
446		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
447		if ms.LoadMessageInfo() == nil {
448			ms.StoreMessageInfo(mi)
449		}
450		return ms
451	}
452	return mi.MessageOf(x)
453}
454
455// Deprecated: Use ExplanationParameters.ProtoReflect.Descriptor instead.
456func (*ExplanationParameters) Descriptor() ([]byte, []int) {
457	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{4}
458}
459
460func (m *ExplanationParameters) GetMethod() isExplanationParameters_Method {
461	if m != nil {
462		return m.Method
463	}
464	return nil
465}
466
467func (x *ExplanationParameters) GetSampledShapleyAttribution() *SampledShapleyAttribution {
468	if x, ok := x.GetMethod().(*ExplanationParameters_SampledShapleyAttribution); ok {
469		return x.SampledShapleyAttribution
470	}
471	return nil
472}
473
474func (x *ExplanationParameters) GetIntegratedGradientsAttribution() *IntegratedGradientsAttribution {
475	if x, ok := x.GetMethod().(*ExplanationParameters_IntegratedGradientsAttribution); ok {
476		return x.IntegratedGradientsAttribution
477	}
478	return nil
479}
480
481func (x *ExplanationParameters) GetXraiAttribution() *XraiAttribution {
482	if x, ok := x.GetMethod().(*ExplanationParameters_XraiAttribution); ok {
483		return x.XraiAttribution
484	}
485	return nil
486}
487
488func (x *ExplanationParameters) GetSimilarity() *Similarity {
489	if x, ok := x.GetMethod().(*ExplanationParameters_Similarity); ok {
490		return x.Similarity
491	}
492	return nil
493}
494
495func (x *ExplanationParameters) GetTopK() int32 {
496	if x != nil {
497		return x.TopK
498	}
499	return 0
500}
501
502func (x *ExplanationParameters) GetOutputIndices() *structpb.ListValue {
503	if x != nil {
504		return x.OutputIndices
505	}
506	return nil
507}
508
509type isExplanationParameters_Method interface {
510	isExplanationParameters_Method()
511}
512
513type ExplanationParameters_SampledShapleyAttribution struct {
514	// An attribution method that approximates Shapley values for features that
515	// contribute to the label being predicted. A sampling strategy is used to
516	// approximate the value rather than considering all subsets of features.
517	// Refer to this paper for model details: https://arxiv.org/abs/1306.4265.
518	SampledShapleyAttribution *SampledShapleyAttribution `protobuf:"bytes,1,opt,name=sampled_shapley_attribution,json=sampledShapleyAttribution,proto3,oneof"`
519}
520
521type ExplanationParameters_IntegratedGradientsAttribution struct {
522	// An attribution method that computes Aumann-Shapley values taking
523	// advantage of the model's fully differentiable structure. Refer to this
524	// paper for more details: https://arxiv.org/abs/1703.01365
525	IntegratedGradientsAttribution *IntegratedGradientsAttribution `protobuf:"bytes,2,opt,name=integrated_gradients_attribution,json=integratedGradientsAttribution,proto3,oneof"`
526}
527
528type ExplanationParameters_XraiAttribution struct {
529	// An attribution method that redistributes Integrated Gradients
530	// attribution to segmented regions, taking advantage of the model's fully
531	// differentiable structure. Refer to this paper for
532	// more details: https://arxiv.org/abs/1906.02825
533	//
534	// XRAI currently performs better on natural images, like a picture of a
535	// house or an animal. If the images are taken in artificial environments,
536	// like a lab or manufacturing line, or from diagnostic equipment, like
537	// x-rays or quality-control cameras, use Integrated Gradients instead.
538	XraiAttribution *XraiAttribution `protobuf:"bytes,3,opt,name=xrai_attribution,json=xraiAttribution,proto3,oneof"`
539}
540
541type ExplanationParameters_Similarity struct {
542	// Similarity explainability that returns the nearest neighbors from the
543	// provided dataset.
544	Similarity *Similarity `protobuf:"bytes,7,opt,name=similarity,proto3,oneof"`
545}
546
547func (*ExplanationParameters_SampledShapleyAttribution) isExplanationParameters_Method() {}
548
549func (*ExplanationParameters_IntegratedGradientsAttribution) isExplanationParameters_Method() {}
550
551func (*ExplanationParameters_XraiAttribution) isExplanationParameters_Method() {}
552
553func (*ExplanationParameters_Similarity) isExplanationParameters_Method() {}
554
555// An attribution method that approximates Shapley values for features that
556// contribute to the label being predicted. A sampling strategy is used to
557// approximate the value rather than considering all subsets of features.
558type SampledShapleyAttribution struct {
559	state         protoimpl.MessageState
560	sizeCache     protoimpl.SizeCache
561	unknownFields protoimpl.UnknownFields
562
563	// Required. The number of feature permutations to consider when approximating the
564	// Shapley values.
565	//
566	// Valid range of its value is [1, 50], inclusively.
567	PathCount int32 `protobuf:"varint,1,opt,name=path_count,json=pathCount,proto3" json:"path_count,omitempty"`
568}
569
570func (x *SampledShapleyAttribution) Reset() {
571	*x = SampledShapleyAttribution{}
572	if protoimpl.UnsafeEnabled {
573		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5]
574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
575		ms.StoreMessageInfo(mi)
576	}
577}
578
579func (x *SampledShapleyAttribution) String() string {
580	return protoimpl.X.MessageStringOf(x)
581}
582
583func (*SampledShapleyAttribution) ProtoMessage() {}
584
585func (x *SampledShapleyAttribution) ProtoReflect() protoreflect.Message {
586	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5]
587	if protoimpl.UnsafeEnabled && x != nil {
588		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
589		if ms.LoadMessageInfo() == nil {
590			ms.StoreMessageInfo(mi)
591		}
592		return ms
593	}
594	return mi.MessageOf(x)
595}
596
597// Deprecated: Use SampledShapleyAttribution.ProtoReflect.Descriptor instead.
598func (*SampledShapleyAttribution) Descriptor() ([]byte, []int) {
599	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{5}
600}
601
602func (x *SampledShapleyAttribution) GetPathCount() int32 {
603	if x != nil {
604		return x.PathCount
605	}
606	return 0
607}
608
609// An attribution method that computes the Aumann-Shapley value taking advantage
610// of the model's fully differentiable structure. Refer to this paper for
611// more details: https://arxiv.org/abs/1703.01365
612type IntegratedGradientsAttribution struct {
613	state         protoimpl.MessageState
614	sizeCache     protoimpl.SizeCache
615	unknownFields protoimpl.UnknownFields
616
617	// Required. The number of steps for approximating the path integral.
618	// A good value to start is 50 and gradually increase until the
619	// sum to diff property is within the desired error range.
620	//
621	// Valid range of its value is [1, 100], inclusively.
622	StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"`
623	// Config for SmoothGrad approximation of gradients.
624	//
625	// When enabled, the gradients are approximated by averaging the gradients
626	// from noisy samples in the vicinity of the inputs. Adding
627	// noise can help improve the computed gradients. Refer to this paper for more
628	// details: https://arxiv.org/pdf/1706.03825.pdf
629	SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"`
630}
631
632func (x *IntegratedGradientsAttribution) Reset() {
633	*x = IntegratedGradientsAttribution{}
634	if protoimpl.UnsafeEnabled {
635		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6]
636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
637		ms.StoreMessageInfo(mi)
638	}
639}
640
641func (x *IntegratedGradientsAttribution) String() string {
642	return protoimpl.X.MessageStringOf(x)
643}
644
645func (*IntegratedGradientsAttribution) ProtoMessage() {}
646
647func (x *IntegratedGradientsAttribution) ProtoReflect() protoreflect.Message {
648	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6]
649	if protoimpl.UnsafeEnabled && x != nil {
650		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
651		if ms.LoadMessageInfo() == nil {
652			ms.StoreMessageInfo(mi)
653		}
654		return ms
655	}
656	return mi.MessageOf(x)
657}
658
659// Deprecated: Use IntegratedGradientsAttribution.ProtoReflect.Descriptor instead.
660func (*IntegratedGradientsAttribution) Descriptor() ([]byte, []int) {
661	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{6}
662}
663
664func (x *IntegratedGradientsAttribution) GetStepCount() int32 {
665	if x != nil {
666		return x.StepCount
667	}
668	return 0
669}
670
671func (x *IntegratedGradientsAttribution) GetSmoothGradConfig() *SmoothGradConfig {
672	if x != nil {
673		return x.SmoothGradConfig
674	}
675	return nil
676}
677
678// An explanation method that redistributes Integrated Gradients
679// attributions to segmented regions, taking advantage of the model's fully
680// differentiable structure. Refer to this paper for more details:
681// https://arxiv.org/abs/1906.02825
682//
683// Supported only by image Models.
684type XraiAttribution struct {
685	state         protoimpl.MessageState
686	sizeCache     protoimpl.SizeCache
687	unknownFields protoimpl.UnknownFields
688
689	// Required. The number of steps for approximating the path integral.
690	// A good value to start is 50 and gradually increase until the
691	// sum to diff property is met within the desired error range.
692	//
693	// Valid range of its value is [1, 100], inclusively.
694	StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"`
695	// Config for SmoothGrad approximation of gradients.
696	//
697	// When enabled, the gradients are approximated by averaging the gradients
698	// from noisy samples in the vicinity of the inputs. Adding
699	// noise can help improve the computed gradients. Refer to this paper for more
700	// details: https://arxiv.org/pdf/1706.03825.pdf
701	SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"`
702}
703
704func (x *XraiAttribution) Reset() {
705	*x = XraiAttribution{}
706	if protoimpl.UnsafeEnabled {
707		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7]
708		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
709		ms.StoreMessageInfo(mi)
710	}
711}
712
713func (x *XraiAttribution) String() string {
714	return protoimpl.X.MessageStringOf(x)
715}
716
717func (*XraiAttribution) ProtoMessage() {}
718
719func (x *XraiAttribution) ProtoReflect() protoreflect.Message {
720	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7]
721	if protoimpl.UnsafeEnabled && x != nil {
722		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
723		if ms.LoadMessageInfo() == nil {
724			ms.StoreMessageInfo(mi)
725		}
726		return ms
727	}
728	return mi.MessageOf(x)
729}
730
731// Deprecated: Use XraiAttribution.ProtoReflect.Descriptor instead.
732func (*XraiAttribution) Descriptor() ([]byte, []int) {
733	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{7}
734}
735
736func (x *XraiAttribution) GetStepCount() int32 {
737	if x != nil {
738		return x.StepCount
739	}
740	return 0
741}
742
743func (x *XraiAttribution) GetSmoothGradConfig() *SmoothGradConfig {
744	if x != nil {
745		return x.SmoothGradConfig
746	}
747	return nil
748}
749
750// Config for SmoothGrad approximation of gradients.
751//
752// When enabled, the gradients are approximated by averaging the gradients from
753// noisy samples in the vicinity of the inputs. Adding noise can help improve
754// the computed gradients. Refer to this paper for more details:
755// https://arxiv.org/pdf/1706.03825.pdf
756type SmoothGradConfig struct {
757	state         protoimpl.MessageState
758	sizeCache     protoimpl.SizeCache
759	unknownFields protoimpl.UnknownFields
760
761	// Represents the standard deviation of the gaussian kernel
762	// that will be used to add noise to the interpolated inputs
763	// prior to computing gradients.
764	//
765	// Types that are assignable to GradientNoiseSigma:
766	//	*SmoothGradConfig_NoiseSigma
767	//	*SmoothGradConfig_FeatureNoiseSigma
768	GradientNoiseSigma isSmoothGradConfig_GradientNoiseSigma `protobuf_oneof:"GradientNoiseSigma"`
769	// The number of gradient samples to use for
770	// approximation. The higher this number, the more accurate the gradient
771	// is, but the runtime complexity increases by this factor as well.
772	// Valid range of its value is [1, 50]. Defaults to 3.
773	NoisySampleCount int32 `protobuf:"varint,3,opt,name=noisy_sample_count,json=noisySampleCount,proto3" json:"noisy_sample_count,omitempty"`
774}
775
776func (x *SmoothGradConfig) Reset() {
777	*x = SmoothGradConfig{}
778	if protoimpl.UnsafeEnabled {
779		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8]
780		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
781		ms.StoreMessageInfo(mi)
782	}
783}
784
785func (x *SmoothGradConfig) String() string {
786	return protoimpl.X.MessageStringOf(x)
787}
788
789func (*SmoothGradConfig) ProtoMessage() {}
790
791func (x *SmoothGradConfig) ProtoReflect() protoreflect.Message {
792	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8]
793	if protoimpl.UnsafeEnabled && x != nil {
794		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
795		if ms.LoadMessageInfo() == nil {
796			ms.StoreMessageInfo(mi)
797		}
798		return ms
799	}
800	return mi.MessageOf(x)
801}
802
803// Deprecated: Use SmoothGradConfig.ProtoReflect.Descriptor instead.
804func (*SmoothGradConfig) Descriptor() ([]byte, []int) {
805	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{8}
806}
807
808func (m *SmoothGradConfig) GetGradientNoiseSigma() isSmoothGradConfig_GradientNoiseSigma {
809	if m != nil {
810		return m.GradientNoiseSigma
811	}
812	return nil
813}
814
815func (x *SmoothGradConfig) GetNoiseSigma() float32 {
816	if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_NoiseSigma); ok {
817		return x.NoiseSigma
818	}
819	return 0
820}
821
822func (x *SmoothGradConfig) GetFeatureNoiseSigma() *FeatureNoiseSigma {
823	if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_FeatureNoiseSigma); ok {
824		return x.FeatureNoiseSigma
825	}
826	return nil
827}
828
829func (x *SmoothGradConfig) GetNoisySampleCount() int32 {
830	if x != nil {
831		return x.NoisySampleCount
832	}
833	return 0
834}
835
836type isSmoothGradConfig_GradientNoiseSigma interface {
837	isSmoothGradConfig_GradientNoiseSigma()
838}
839
840type SmoothGradConfig_NoiseSigma struct {
841	// This is a single float value and will be used to add noise to all the
842	// features. Use this field when all features are normalized to have the
843	// same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
844	// features are normalized to have 0-mean and 1-variance. Learn more about
845	// [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
846	//
847	// For best results the recommended value is about 10% - 20% of the standard
848	// deviation of the input feature. Refer to section 3.2 of the SmoothGrad
849	// paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
850	//
851	// If the distribution is different per feature, set
852	// [feature_noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.feature_noise_sigma] instead
853	// for each feature.
854	NoiseSigma float32 `protobuf:"fixed32,1,opt,name=noise_sigma,json=noiseSigma,proto3,oneof"`
855}
856
857type SmoothGradConfig_FeatureNoiseSigma struct {
858	// This is similar to [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma], but
859	// provides additional flexibility. A separate noise sigma can be provided
860	// for each feature, which is useful if their distributions are different.
861	// No noise is added to features that are not set. If this field is unset,
862	// [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma] will be used for all
863	// features.
864	FeatureNoiseSigma *FeatureNoiseSigma `protobuf:"bytes,2,opt,name=feature_noise_sigma,json=featureNoiseSigma,proto3,oneof"`
865}
866
867func (*SmoothGradConfig_NoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {}
868
869func (*SmoothGradConfig_FeatureNoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {}
870
871// Noise sigma by features. Noise sigma represents the standard deviation of the
872// gaussian kernel that will be used to add noise to interpolated inputs prior
873// to computing gradients.
874type FeatureNoiseSigma struct {
875	state         protoimpl.MessageState
876	sizeCache     protoimpl.SizeCache
877	unknownFields protoimpl.UnknownFields
878
879	// Noise sigma per feature. No noise is added to features that are not set.
880	NoiseSigma []*FeatureNoiseSigma_NoiseSigmaForFeature `protobuf:"bytes,1,rep,name=noise_sigma,json=noiseSigma,proto3" json:"noise_sigma,omitempty"`
881}
882
883func (x *FeatureNoiseSigma) Reset() {
884	*x = FeatureNoiseSigma{}
885	if protoimpl.UnsafeEnabled {
886		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9]
887		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
888		ms.StoreMessageInfo(mi)
889	}
890}
891
892func (x *FeatureNoiseSigma) String() string {
893	return protoimpl.X.MessageStringOf(x)
894}
895
896func (*FeatureNoiseSigma) ProtoMessage() {}
897
898func (x *FeatureNoiseSigma) ProtoReflect() protoreflect.Message {
899	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9]
900	if protoimpl.UnsafeEnabled && x != nil {
901		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
902		if ms.LoadMessageInfo() == nil {
903			ms.StoreMessageInfo(mi)
904		}
905		return ms
906	}
907	return mi.MessageOf(x)
908}
909
910// Deprecated: Use FeatureNoiseSigma.ProtoReflect.Descriptor instead.
911func (*FeatureNoiseSigma) Descriptor() ([]byte, []int) {
912	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{9}
913}
914
915func (x *FeatureNoiseSigma) GetNoiseSigma() []*FeatureNoiseSigma_NoiseSigmaForFeature {
916	if x != nil {
917		return x.NoiseSigma
918	}
919	return nil
920}
921
922// Similarity explainability that returns the nearest neighbors from the
923// provided dataset.
924type Similarity struct {
925	state         protoimpl.MessageState
926	sizeCache     protoimpl.SizeCache
927	unknownFields protoimpl.UnknownFields
928
929	// The Cloud Storage location for the input instances.
930	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"`
931	// The configuration for the generated index, the semantics are the same as
932	// [metadata][google.cloud.aiplatform.v1beta1.Index.metadata] and should match NearestNeighborSearchConfig.
933	NearestNeighborSearchConfig *structpb.Value `protobuf:"bytes,2,opt,name=nearest_neighbor_search_config,json=nearestNeighborSearchConfig,proto3" json:"nearest_neighbor_search_config,omitempty"`
934}
935
936func (x *Similarity) Reset() {
937	*x = Similarity{}
938	if protoimpl.UnsafeEnabled {
939		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10]
940		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
941		ms.StoreMessageInfo(mi)
942	}
943}
944
945func (x *Similarity) String() string {
946	return protoimpl.X.MessageStringOf(x)
947}
948
949func (*Similarity) ProtoMessage() {}
950
951func (x *Similarity) ProtoReflect() protoreflect.Message {
952	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10]
953	if protoimpl.UnsafeEnabled && x != nil {
954		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
955		if ms.LoadMessageInfo() == nil {
956			ms.StoreMessageInfo(mi)
957		}
958		return ms
959	}
960	return mi.MessageOf(x)
961}
962
963// Deprecated: Use Similarity.ProtoReflect.Descriptor instead.
964func (*Similarity) Descriptor() ([]byte, []int) {
965	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{10}
966}
967
968func (x *Similarity) GetGcsSource() *GcsSource {
969	if x != nil {
970		return x.GcsSource
971	}
972	return nil
973}
974
975func (x *Similarity) GetNearestNeighborSearchConfig() *structpb.Value {
976	if x != nil {
977		return x.NearestNeighborSearchConfig
978	}
979	return nil
980}
981
982// The [ExplanationSpec][google.cloud.aiplatform.v1beta1.ExplanationSpec] entries that can be overridden at
983// [online explanation][google.cloud.aiplatform.v1beta1.PredictionService.Explain] time.
984type ExplanationSpecOverride struct {
985	state         protoimpl.MessageState
986	sizeCache     protoimpl.SizeCache
987	unknownFields protoimpl.UnknownFields
988
989	// The parameters to be overridden. Note that the
990	// [method][google.cloud.aiplatform.v1beta1.ExplanationParameters.method] cannot be changed. If not specified,
991	// no parameter is overridden.
992	Parameters *ExplanationParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"`
993	// The metadata to be overridden. If not specified, no metadata is overridden.
994	Metadata *ExplanationMetadataOverride `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
995}
996
997func (x *ExplanationSpecOverride) Reset() {
998	*x = ExplanationSpecOverride{}
999	if protoimpl.UnsafeEnabled {
1000		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[11]
1001		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1002		ms.StoreMessageInfo(mi)
1003	}
1004}
1005
1006func (x *ExplanationSpecOverride) String() string {
1007	return protoimpl.X.MessageStringOf(x)
1008}
1009
1010func (*ExplanationSpecOverride) ProtoMessage() {}
1011
1012func (x *ExplanationSpecOverride) ProtoReflect() protoreflect.Message {
1013	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[11]
1014	if protoimpl.UnsafeEnabled && x != nil {
1015		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1016		if ms.LoadMessageInfo() == nil {
1017			ms.StoreMessageInfo(mi)
1018		}
1019		return ms
1020	}
1021	return mi.MessageOf(x)
1022}
1023
1024// Deprecated: Use ExplanationSpecOverride.ProtoReflect.Descriptor instead.
1025func (*ExplanationSpecOverride) Descriptor() ([]byte, []int) {
1026	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{11}
1027}
1028
1029func (x *ExplanationSpecOverride) GetParameters() *ExplanationParameters {
1030	if x != nil {
1031		return x.Parameters
1032	}
1033	return nil
1034}
1035
1036func (x *ExplanationSpecOverride) GetMetadata() *ExplanationMetadataOverride {
1037	if x != nil {
1038		return x.Metadata
1039	}
1040	return nil
1041}
1042
1043// The [ExplanationMetadata][google.cloud.aiplatform.v1beta1.ExplanationMetadata] entries that can be overridden at
1044// [online explanation][google.cloud.aiplatform.v1beta1.PredictionService.Explain] time.
1045type ExplanationMetadataOverride struct {
1046	state         protoimpl.MessageState
1047	sizeCache     protoimpl.SizeCache
1048	unknownFields protoimpl.UnknownFields
1049
1050	// Required. Overrides the [input metadata][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs] of the features.
1051	// The key is the name of the feature to be overridden. The keys specified
1052	// here must exist in the input metadata to be overridden. If a feature is
1053	// not specified here, the corresponding feature's input metadata is not
1054	// overridden.
1055	Inputs map[string]*ExplanationMetadataOverride_InputMetadataOverride `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1056}
1057
1058func (x *ExplanationMetadataOverride) Reset() {
1059	*x = ExplanationMetadataOverride{}
1060	if protoimpl.UnsafeEnabled {
1061		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[12]
1062		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1063		ms.StoreMessageInfo(mi)
1064	}
1065}
1066
1067func (x *ExplanationMetadataOverride) String() string {
1068	return protoimpl.X.MessageStringOf(x)
1069}
1070
1071func (*ExplanationMetadataOverride) ProtoMessage() {}
1072
1073func (x *ExplanationMetadataOverride) ProtoReflect() protoreflect.Message {
1074	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[12]
1075	if protoimpl.UnsafeEnabled && x != nil {
1076		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1077		if ms.LoadMessageInfo() == nil {
1078			ms.StoreMessageInfo(mi)
1079		}
1080		return ms
1081	}
1082	return mi.MessageOf(x)
1083}
1084
1085// Deprecated: Use ExplanationMetadataOverride.ProtoReflect.Descriptor instead.
1086func (*ExplanationMetadataOverride) Descriptor() ([]byte, []int) {
1087	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{12}
1088}
1089
1090func (x *ExplanationMetadataOverride) GetInputs() map[string]*ExplanationMetadataOverride_InputMetadataOverride {
1091	if x != nil {
1092		return x.Inputs
1093	}
1094	return nil
1095}
1096
1097// Noise sigma for a single feature.
1098type FeatureNoiseSigma_NoiseSigmaForFeature struct {
1099	state         protoimpl.MessageState
1100	sizeCache     protoimpl.SizeCache
1101	unknownFields protoimpl.UnknownFields
1102
1103	// The name of the input feature for which noise sigma is provided. The
1104	// features are defined in
1105	// [explanation metadata inputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs].
1106	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1107	// This represents the standard deviation of the Gaussian kernel that will
1108	// be used to add noise to the feature prior to computing gradients. Similar
1109	// to [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma] but represents the
1110	// noise added to the current feature. Defaults to 0.1.
1111	Sigma float32 `protobuf:"fixed32,2,opt,name=sigma,proto3" json:"sigma,omitempty"`
1112}
1113
1114func (x *FeatureNoiseSigma_NoiseSigmaForFeature) Reset() {
1115	*x = FeatureNoiseSigma_NoiseSigmaForFeature{}
1116	if protoimpl.UnsafeEnabled {
1117		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[13]
1118		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1119		ms.StoreMessageInfo(mi)
1120	}
1121}
1122
1123func (x *FeatureNoiseSigma_NoiseSigmaForFeature) String() string {
1124	return protoimpl.X.MessageStringOf(x)
1125}
1126
1127func (*FeatureNoiseSigma_NoiseSigmaForFeature) ProtoMessage() {}
1128
1129func (x *FeatureNoiseSigma_NoiseSigmaForFeature) ProtoReflect() protoreflect.Message {
1130	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[13]
1131	if protoimpl.UnsafeEnabled && x != nil {
1132		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1133		if ms.LoadMessageInfo() == nil {
1134			ms.StoreMessageInfo(mi)
1135		}
1136		return ms
1137	}
1138	return mi.MessageOf(x)
1139}
1140
1141// Deprecated: Use FeatureNoiseSigma_NoiseSigmaForFeature.ProtoReflect.Descriptor instead.
1142func (*FeatureNoiseSigma_NoiseSigmaForFeature) Descriptor() ([]byte, []int) {
1143	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{9, 0}
1144}
1145
1146func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetName() string {
1147	if x != nil {
1148		return x.Name
1149	}
1150	return ""
1151}
1152
1153func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetSigma() float32 {
1154	if x != nil {
1155		return x.Sigma
1156	}
1157	return 0
1158}
1159
1160// The [input metadata][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata] entries to be
1161// overridden.
1162type ExplanationMetadataOverride_InputMetadataOverride struct {
1163	state         protoimpl.MessageState
1164	sizeCache     protoimpl.SizeCache
1165	unknownFields protoimpl.UnknownFields
1166
1167	// Baseline inputs for this feature.
1168	//
1169	// This overrides the `input_baseline` field of the
1170	// [ExplanationMetadata.InputMetadata][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata]
1171	// object of the corresponding feature's input metadata. If it's not
1172	// specified, the original baselines are not overridden.
1173	InputBaselines []*structpb.Value `protobuf:"bytes,1,rep,name=input_baselines,json=inputBaselines,proto3" json:"input_baselines,omitempty"`
1174}
1175
1176func (x *ExplanationMetadataOverride_InputMetadataOverride) Reset() {
1177	*x = ExplanationMetadataOverride_InputMetadataOverride{}
1178	if protoimpl.UnsafeEnabled {
1179		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[14]
1180		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1181		ms.StoreMessageInfo(mi)
1182	}
1183}
1184
1185func (x *ExplanationMetadataOverride_InputMetadataOverride) String() string {
1186	return protoimpl.X.MessageStringOf(x)
1187}
1188
1189func (*ExplanationMetadataOverride_InputMetadataOverride) ProtoMessage() {}
1190
1191func (x *ExplanationMetadataOverride_InputMetadataOverride) ProtoReflect() protoreflect.Message {
1192	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[14]
1193	if protoimpl.UnsafeEnabled && x != nil {
1194		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1195		if ms.LoadMessageInfo() == nil {
1196			ms.StoreMessageInfo(mi)
1197		}
1198		return ms
1199	}
1200	return mi.MessageOf(x)
1201}
1202
1203// Deprecated: Use ExplanationMetadataOverride_InputMetadataOverride.ProtoReflect.Descriptor instead.
1204func (*ExplanationMetadataOverride_InputMetadataOverride) Descriptor() ([]byte, []int) {
1205	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{12, 0}
1206}
1207
1208func (x *ExplanationMetadataOverride_InputMetadataOverride) GetInputBaselines() []*structpb.Value {
1209	if x != nil {
1210		return x.InputBaselines
1211	}
1212	return nil
1213}
1214
1215var File_google_cloud_aiplatform_v1beta1_explanation_proto protoreflect.FileDescriptor
1216
1217var file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = []byte{
1218	0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
1219	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
1220	0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
1221	0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1222	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
1223	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
1224	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
1225	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
1226	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76,
1227	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
1228	0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1229	0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
1230	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
1231	0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
1232	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
1233	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1234	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1235	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61,
1236	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
1237	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67,
1238	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
1239	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
1240	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
1241	0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x72, 0x0a,
1242	0x10, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
1243	0x6e, 0x12, 0x5e, 0x0a, 0x11, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
1244	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67,
1245	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
1246	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
1247	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
1248	0x10, 0x6d, 0x65, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
1249	0x73, 0x22, 0x88, 0x03, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
1250	0x6e, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x75,
1251	0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01,
1252	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4f,
1253	0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x6e,
1254	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61,
1255	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13,
1256	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61,
1257	0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61,
1258	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
1259	0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1260	0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13,
1261	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
1262	0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e,
1263	0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b,
1264	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x33, 0x0a, 0x13, 0x6f,
1265	0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61,
1266	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6f,
1267	0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
1268	0x12, 0x34, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f,
1269	0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0,
1270	0x41, 0x03, 0x52, 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f,
1271	0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
1272	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
1273	0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc5, 0x01, 0x0a,
1274	0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63,
1275	0x12, 0x5b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01,
1276	0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1277	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
1278	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
1279	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41,
1280	0x02, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a,
1281	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
1282	0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
1283	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
1284	0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
1285	0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
1286	0x64, 0x61, 0x74, 0x61, 0x22, 0xb3, 0x04, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
1287	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x7c,
1288	0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x6c, 0x65,
1289	0x79, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
1290	0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1291	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
1292	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61,
1293	0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48,
1294	0x00, 0x52, 0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65,
1295	0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8b, 0x01, 0x0a,
1296	0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64,
1297	0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
1298	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1299	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
1300	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
1301	0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74,
1302	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1e, 0x69, 0x6e, 0x74, 0x65,
1303	0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41,
1304	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x10, 0x78, 0x72,
1305	0x61, 0x69, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
1306	0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1307	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
1308	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x58, 0x72, 0x61, 0x69, 0x41, 0x74, 0x74, 0x72, 0x69,
1309	0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x78, 0x72, 0x61, 0x69, 0x41, 0x74,
1310	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0a, 0x73, 0x69, 0x6d,
1311	0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
1312	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
1313	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1314	0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x69,
1315	0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f,
1316	0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x12, 0x41, 0x0a,
1317	0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18,
1318	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
1319	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
1320	0x65, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73,
1321	0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x53, 0x61,
1322	0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72,
1323	0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f,
1324	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
1325	0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x1e,
1326	0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65,
1327	0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22,
1328	0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
1329	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75,
1330	0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x12, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61,
1331	0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31,
1332	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
1333	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
1334	0x2e, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
1335	0x67, 0x52, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e,
1336	0x66, 0x69, 0x67, 0x22, 0x96, 0x01, 0x0a, 0x0f, 0x58, 0x72, 0x61, 0x69, 0x41, 0x74, 0x74, 0x72,
1337	0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f,
1338	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
1339	0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x12, 0x73,
1340	0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
1341	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1342	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
1343	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68,
1344	0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x73, 0x6d, 0x6f, 0x6f,
1345	0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdf, 0x01, 0x0a,
1346	0x10, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
1347	0x67, 0x12, 0x21, 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61,
1348	0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53,
1349	0x69, 0x67, 0x6d, 0x61, 0x12, 0x64, 0x0a, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f,
1350	0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
1351	0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1352	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
1353	0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65,
1354	0x53, 0x69, 0x67, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
1355	0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x6f,
1356	0x69, 0x73, 0x79, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
1357	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x69, 0x73, 0x79, 0x53, 0x61, 0x6d,
1358	0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x64,
1359	0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x22, 0xbf,
1360	0x01, 0x0a, 0x11, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53,
1361	0x69, 0x67, 0x6d, 0x61, 0x12, 0x68, 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69,
1362	0x67, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1363	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
1364	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
1365	0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x2e, 0x4e, 0x6f,
1366	0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75,
1367	0x72, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x1a, 0x40,
1368	0x0a, 0x14, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x46,
1369	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
1370	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x69,
1371	0x67, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61,
1372	0x22, 0xb4, 0x01, 0x0a, 0x0a, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12,
1373	0x49, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20,
1374	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1375	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
1376	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
1377	0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x1e, 0x6e, 0x65,
1378	0x61, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x73,
1379	0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01,
1380	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1381	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x6e, 0x65, 0x61, 0x72,
1382	0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63,
1383	0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6c,
1384	0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72,
1385	0x69, 0x64, 0x65, 0x12, 0x56, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
1386	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1387	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
1388	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e,
1389	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52,
1390	0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x58, 0x0a, 0x08, 0x6d,
1391	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e,
1392	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
1393	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1394	0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
1395	0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74,
1396	0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xee, 0x02, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e,
1397	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65,
1398	0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x65, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18,
1399	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1400	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
1401	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
1402	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72,
1403	0x69, 0x64, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
1404	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x1a, 0x58, 0x0a, 0x15,
1405	0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65,
1406	0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62,
1407	0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
1408	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1409	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x61, 0x73,
1410	0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74,
1411	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
1412	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x68, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
1413	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1414	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
1415	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e,
1416	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65,
1417	0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
1418	0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
1419	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xed, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
1420	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
1421	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10,
1422	0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
1423	0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
1424	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
1425	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
1426	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
1427	0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0xaa, 0x02, 0x1f,
1428	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50,
1429	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca,
1430	0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41,
1431	0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
1432	0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75,
1433	0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56,
1434	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1435}
1436
1437var (
1438	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescOnce sync.Once
1439	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc
1440)
1441
1442func file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP() []byte {
1443	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescOnce.Do(func() {
1444		file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData)
1445	})
1446	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData
1447}
1448
1449var file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
1450var file_google_cloud_aiplatform_v1beta1_explanation_proto_goTypes = []interface{}{
1451	(*Explanation)(nil),                                       // 0: google.cloud.aiplatform.v1beta1.Explanation
1452	(*ModelExplanation)(nil),                                  // 1: google.cloud.aiplatform.v1beta1.ModelExplanation
1453	(*Attribution)(nil),                                       // 2: google.cloud.aiplatform.v1beta1.Attribution
1454	(*ExplanationSpec)(nil),                                   // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec
1455	(*ExplanationParameters)(nil),                             // 4: google.cloud.aiplatform.v1beta1.ExplanationParameters
1456	(*SampledShapleyAttribution)(nil),                         // 5: google.cloud.aiplatform.v1beta1.SampledShapleyAttribution
1457	(*IntegratedGradientsAttribution)(nil),                    // 6: google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution
1458	(*XraiAttribution)(nil),                                   // 7: google.cloud.aiplatform.v1beta1.XraiAttribution
1459	(*SmoothGradConfig)(nil),                                  // 8: google.cloud.aiplatform.v1beta1.SmoothGradConfig
1460	(*FeatureNoiseSigma)(nil),                                 // 9: google.cloud.aiplatform.v1beta1.FeatureNoiseSigma
1461	(*Similarity)(nil),                                        // 10: google.cloud.aiplatform.v1beta1.Similarity
1462	(*ExplanationSpecOverride)(nil),                           // 11: google.cloud.aiplatform.v1beta1.ExplanationSpecOverride
1463	(*ExplanationMetadataOverride)(nil),                       // 12: google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride
1464	(*FeatureNoiseSigma_NoiseSigmaForFeature)(nil),            // 13: google.cloud.aiplatform.v1beta1.FeatureNoiseSigma.NoiseSigmaForFeature
1465	(*ExplanationMetadataOverride_InputMetadataOverride)(nil), // 14: google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputMetadataOverride
1466	nil,                         // 15: google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputsEntry
1467	(*structpb.Value)(nil),      // 16: google.protobuf.Value
1468	(*ExplanationMetadata)(nil), // 17: google.cloud.aiplatform.v1beta1.ExplanationMetadata
1469	(*structpb.ListValue)(nil),  // 18: google.protobuf.ListValue
1470	(*GcsSource)(nil),           // 19: google.cloud.aiplatform.v1beta1.GcsSource
1471}
1472var file_google_cloud_aiplatform_v1beta1_explanation_proto_depIdxs = []int32{
1473	2,  // 0: google.cloud.aiplatform.v1beta1.Explanation.attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution
1474	2,  // 1: google.cloud.aiplatform.v1beta1.ModelExplanation.mean_attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution
1475	16, // 2: google.cloud.aiplatform.v1beta1.Attribution.feature_attributions:type_name -> google.protobuf.Value
1476	4,  // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec.parameters:type_name -> google.cloud.aiplatform.v1beta1.ExplanationParameters
1477	17, // 4: google.cloud.aiplatform.v1beta1.ExplanationSpec.metadata:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata
1478	5,  // 5: google.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution:type_name -> google.cloud.aiplatform.v1beta1.SampledShapleyAttribution
1479	6,  // 6: google.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution:type_name -> google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution
1480	7,  // 7: google.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution:type_name -> google.cloud.aiplatform.v1beta1.XraiAttribution
1481	10, // 8: google.cloud.aiplatform.v1beta1.ExplanationParameters.similarity:type_name -> google.cloud.aiplatform.v1beta1.Similarity
1482	18, // 9: google.cloud.aiplatform.v1beta1.ExplanationParameters.output_indices:type_name -> google.protobuf.ListValue
1483	8,  // 10: google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution.smooth_grad_config:type_name -> google.cloud.aiplatform.v1beta1.SmoothGradConfig
1484	8,  // 11: google.cloud.aiplatform.v1beta1.XraiAttribution.smooth_grad_config:type_name -> google.cloud.aiplatform.v1beta1.SmoothGradConfig
1485	9,  // 12: google.cloud.aiplatform.v1beta1.SmoothGradConfig.feature_noise_sigma:type_name -> google.cloud.aiplatform.v1beta1.FeatureNoiseSigma
1486	13, // 13: google.cloud.aiplatform.v1beta1.FeatureNoiseSigma.noise_sigma:type_name -> google.cloud.aiplatform.v1beta1.FeatureNoiseSigma.NoiseSigmaForFeature
1487	19, // 14: google.cloud.aiplatform.v1beta1.Similarity.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource
1488	16, // 15: google.cloud.aiplatform.v1beta1.Similarity.nearest_neighbor_search_config:type_name -> google.protobuf.Value
1489	4,  // 16: google.cloud.aiplatform.v1beta1.ExplanationSpecOverride.parameters:type_name -> google.cloud.aiplatform.v1beta1.ExplanationParameters
1490	12, // 17: google.cloud.aiplatform.v1beta1.ExplanationSpecOverride.metadata:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride
1491	15, // 18: google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.inputs:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputsEntry
1492	16, // 19: google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputMetadataOverride.input_baselines:type_name -> google.protobuf.Value
1493	14, // 20: google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputMetadataOverride
1494	21, // [21:21] is the sub-list for method output_type
1495	21, // [21:21] is the sub-list for method input_type
1496	21, // [21:21] is the sub-list for extension type_name
1497	21, // [21:21] is the sub-list for extension extendee
1498	0,  // [0:21] is the sub-list for field type_name
1499}
1500
1501func init() { file_google_cloud_aiplatform_v1beta1_explanation_proto_init() }
1502func file_google_cloud_aiplatform_v1beta1_explanation_proto_init() {
1503	if File_google_cloud_aiplatform_v1beta1_explanation_proto != nil {
1504		return
1505	}
1506	file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_init()
1507	file_google_cloud_aiplatform_v1beta1_io_proto_init()
1508	if !protoimpl.UnsafeEnabled {
1509		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1510			switch v := v.(*Explanation); i {
1511			case 0:
1512				return &v.state
1513			case 1:
1514				return &v.sizeCache
1515			case 2:
1516				return &v.unknownFields
1517			default:
1518				return nil
1519			}
1520		}
1521		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1522			switch v := v.(*ModelExplanation); i {
1523			case 0:
1524				return &v.state
1525			case 1:
1526				return &v.sizeCache
1527			case 2:
1528				return &v.unknownFields
1529			default:
1530				return nil
1531			}
1532		}
1533		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1534			switch v := v.(*Attribution); i {
1535			case 0:
1536				return &v.state
1537			case 1:
1538				return &v.sizeCache
1539			case 2:
1540				return &v.unknownFields
1541			default:
1542				return nil
1543			}
1544		}
1545		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1546			switch v := v.(*ExplanationSpec); i {
1547			case 0:
1548				return &v.state
1549			case 1:
1550				return &v.sizeCache
1551			case 2:
1552				return &v.unknownFields
1553			default:
1554				return nil
1555			}
1556		}
1557		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1558			switch v := v.(*ExplanationParameters); i {
1559			case 0:
1560				return &v.state
1561			case 1:
1562				return &v.sizeCache
1563			case 2:
1564				return &v.unknownFields
1565			default:
1566				return nil
1567			}
1568		}
1569		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1570			switch v := v.(*SampledShapleyAttribution); i {
1571			case 0:
1572				return &v.state
1573			case 1:
1574				return &v.sizeCache
1575			case 2:
1576				return &v.unknownFields
1577			default:
1578				return nil
1579			}
1580		}
1581		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1582			switch v := v.(*IntegratedGradientsAttribution); i {
1583			case 0:
1584				return &v.state
1585			case 1:
1586				return &v.sizeCache
1587			case 2:
1588				return &v.unknownFields
1589			default:
1590				return nil
1591			}
1592		}
1593		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1594			switch v := v.(*XraiAttribution); i {
1595			case 0:
1596				return &v.state
1597			case 1:
1598				return &v.sizeCache
1599			case 2:
1600				return &v.unknownFields
1601			default:
1602				return nil
1603			}
1604		}
1605		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1606			switch v := v.(*SmoothGradConfig); i {
1607			case 0:
1608				return &v.state
1609			case 1:
1610				return &v.sizeCache
1611			case 2:
1612				return &v.unknownFields
1613			default:
1614				return nil
1615			}
1616		}
1617		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1618			switch v := v.(*FeatureNoiseSigma); i {
1619			case 0:
1620				return &v.state
1621			case 1:
1622				return &v.sizeCache
1623			case 2:
1624				return &v.unknownFields
1625			default:
1626				return nil
1627			}
1628		}
1629		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1630			switch v := v.(*Similarity); i {
1631			case 0:
1632				return &v.state
1633			case 1:
1634				return &v.sizeCache
1635			case 2:
1636				return &v.unknownFields
1637			default:
1638				return nil
1639			}
1640		}
1641		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1642			switch v := v.(*ExplanationSpecOverride); i {
1643			case 0:
1644				return &v.state
1645			case 1:
1646				return &v.sizeCache
1647			case 2:
1648				return &v.unknownFields
1649			default:
1650				return nil
1651			}
1652		}
1653		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
1654			switch v := v.(*ExplanationMetadataOverride); i {
1655			case 0:
1656				return &v.state
1657			case 1:
1658				return &v.sizeCache
1659			case 2:
1660				return &v.unknownFields
1661			default:
1662				return nil
1663			}
1664		}
1665		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
1666			switch v := v.(*FeatureNoiseSigma_NoiseSigmaForFeature); i {
1667			case 0:
1668				return &v.state
1669			case 1:
1670				return &v.sizeCache
1671			case 2:
1672				return &v.unknownFields
1673			default:
1674				return nil
1675			}
1676		}
1677		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
1678			switch v := v.(*ExplanationMetadataOverride_InputMetadataOverride); i {
1679			case 0:
1680				return &v.state
1681			case 1:
1682				return &v.sizeCache
1683			case 2:
1684				return &v.unknownFields
1685			default:
1686				return nil
1687			}
1688		}
1689	}
1690	file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4].OneofWrappers = []interface{}{
1691		(*ExplanationParameters_SampledShapleyAttribution)(nil),
1692		(*ExplanationParameters_IntegratedGradientsAttribution)(nil),
1693		(*ExplanationParameters_XraiAttribution)(nil),
1694		(*ExplanationParameters_Similarity)(nil),
1695	}
1696	file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8].OneofWrappers = []interface{}{
1697		(*SmoothGradConfig_NoiseSigma)(nil),
1698		(*SmoothGradConfig_FeatureNoiseSigma)(nil),
1699	}
1700	type x struct{}
1701	out := protoimpl.TypeBuilder{
1702		File: protoimpl.DescBuilder{
1703			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1704			RawDescriptor: file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc,
1705			NumEnums:      0,
1706			NumMessages:   16,
1707			NumExtensions: 0,
1708			NumServices:   0,
1709		},
1710		GoTypes:           file_google_cloud_aiplatform_v1beta1_explanation_proto_goTypes,
1711		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_explanation_proto_depIdxs,
1712		MessageInfos:      file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes,
1713	}.Build()
1714	File_google_cloud_aiplatform_v1beta1_explanation_proto = out.File
1715	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = nil
1716	file_google_cloud_aiplatform_v1beta1_explanation_proto_goTypes = nil
1717	file_google_cloud_aiplatform_v1beta1_explanation_proto_depIdxs = nil
1718}
1719