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/v1/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.v1.PredictResponse.predictions])
41// produced by the Model on a given [instance][google.cloud.aiplatform.v1.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.v1.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.v1.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.v1.ExplanationParameters.output_indices] is specified,
59	// the attributions are stored by [Attribution.output_index][google.cloud.aiplatform.v1.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_v1_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_v1_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_v1_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.v1.Attribution.output_index] can be used to identify which
117	// output this attribution is explaining.
118	//
119	// The [baselineOutputValue][google.cloud.aiplatform.v1.Attribution.baseline_output_value],
120	// [instanceOutputValue][google.cloud.aiplatform.v1.Attribution.instance_output_value] and
121	// [featureAttributions][google.cloud.aiplatform.v1.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.v1.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_v1_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_v1_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_v1_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.v1.ExplanationMetadata.inputs].
177	// The field name of the output is determined by the key in
178	// [ExplanationMetadata.outputs][google.cloud.aiplatform.v1.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.v1.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.v1.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.v1.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.v1.ExplainRequest.instances] according to
194	// [explanation metadata for inputs][google.cloud.aiplatform.v1.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.v1.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.v1.ExplanationMetadata.feature_attributions_schema_uri] field,
215	// pointed to by the [ExplanationSpec][google.cloud.aiplatform.v1.ExplanationSpec] field of the
216	// [Endpoint.deployed_models][google.cloud.aiplatform.v1.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.v1.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.v1.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.v1.ExplanationParameters.sampled_shapley_attribution],
240	// increasing [path_count][google.cloud.aiplatform.v1.SampledShapleyAttribution.path_count] might reduce
241	// the error.
242	// * For Integrated Gradients
243	// [attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution],
244	// increasing [step_count][google.cloud.aiplatform.v1.IntegratedGradientsAttribution.step_count] might
245	// reduce the error.
246	// * For [XRAI attribution][google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution],
247	// increasing
248	// [step_count][google.cloud.aiplatform.v1.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.v1.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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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	Method isExplanationParameters_Method `protobuf_oneof:"method"`
408	// If populated, returns attributions for top K indices of outputs
409	// (defaults to 1). Only applies to Models that predicts more than one outputs
410	// (e,g, multi-class Models). When set to -1, returns explanations for all
411	// outputs.
412	TopK int32 `protobuf:"varint,4,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"`
413	// If populated, only returns attributions that have
414	// [output_index][google.cloud.aiplatform.v1.Attribution.output_index] contained in output_indices. It
415	// must be an ndarray of integers, with the same shape of the output it's
416	// explaining.
417	//
418	// If not populated, returns attributions for [top_k][google.cloud.aiplatform.v1.ExplanationParameters.top_k] indices of outputs.
419	// If neither top_k nor output_indeices is populated, returns the argmax
420	// index of the outputs.
421	//
422	// Only applicable to Models that predict multiple outputs (e,g, multi-class
423	// Models that predict multiple classes).
424	OutputIndices *structpb.ListValue `protobuf:"bytes,5,opt,name=output_indices,json=outputIndices,proto3" json:"output_indices,omitempty"`
425}
426
427func (x *ExplanationParameters) Reset() {
428	*x = ExplanationParameters{}
429	if protoimpl.UnsafeEnabled {
430		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[4]
431		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
432		ms.StoreMessageInfo(mi)
433	}
434}
435
436func (x *ExplanationParameters) String() string {
437	return protoimpl.X.MessageStringOf(x)
438}
439
440func (*ExplanationParameters) ProtoMessage() {}
441
442func (x *ExplanationParameters) ProtoReflect() protoreflect.Message {
443	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[4]
444	if protoimpl.UnsafeEnabled && x != nil {
445		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
446		if ms.LoadMessageInfo() == nil {
447			ms.StoreMessageInfo(mi)
448		}
449		return ms
450	}
451	return mi.MessageOf(x)
452}
453
454// Deprecated: Use ExplanationParameters.ProtoReflect.Descriptor instead.
455func (*ExplanationParameters) Descriptor() ([]byte, []int) {
456	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{4}
457}
458
459func (m *ExplanationParameters) GetMethod() isExplanationParameters_Method {
460	if m != nil {
461		return m.Method
462	}
463	return nil
464}
465
466func (x *ExplanationParameters) GetSampledShapleyAttribution() *SampledShapleyAttribution {
467	if x, ok := x.GetMethod().(*ExplanationParameters_SampledShapleyAttribution); ok {
468		return x.SampledShapleyAttribution
469	}
470	return nil
471}
472
473func (x *ExplanationParameters) GetIntegratedGradientsAttribution() *IntegratedGradientsAttribution {
474	if x, ok := x.GetMethod().(*ExplanationParameters_IntegratedGradientsAttribution); ok {
475		return x.IntegratedGradientsAttribution
476	}
477	return nil
478}
479
480func (x *ExplanationParameters) GetXraiAttribution() *XraiAttribution {
481	if x, ok := x.GetMethod().(*ExplanationParameters_XraiAttribution); ok {
482		return x.XraiAttribution
483	}
484	return nil
485}
486
487func (x *ExplanationParameters) GetTopK() int32 {
488	if x != nil {
489		return x.TopK
490	}
491	return 0
492}
493
494func (x *ExplanationParameters) GetOutputIndices() *structpb.ListValue {
495	if x != nil {
496		return x.OutputIndices
497	}
498	return nil
499}
500
501type isExplanationParameters_Method interface {
502	isExplanationParameters_Method()
503}
504
505type ExplanationParameters_SampledShapleyAttribution struct {
506	// An attribution method that approximates Shapley values for features that
507	// contribute to the label being predicted. A sampling strategy is used to
508	// approximate the value rather than considering all subsets of features.
509	// Refer to this paper for model details: https://arxiv.org/abs/1306.4265.
510	SampledShapleyAttribution *SampledShapleyAttribution `protobuf:"bytes,1,opt,name=sampled_shapley_attribution,json=sampledShapleyAttribution,proto3,oneof"`
511}
512
513type ExplanationParameters_IntegratedGradientsAttribution struct {
514	// An attribution method that computes Aumann-Shapley values taking
515	// advantage of the model's fully differentiable structure. Refer to this
516	// paper for more details: https://arxiv.org/abs/1703.01365
517	IntegratedGradientsAttribution *IntegratedGradientsAttribution `protobuf:"bytes,2,opt,name=integrated_gradients_attribution,json=integratedGradientsAttribution,proto3,oneof"`
518}
519
520type ExplanationParameters_XraiAttribution struct {
521	// An attribution method that redistributes Integrated Gradients
522	// attribution to segmented regions, taking advantage of the model's fully
523	// differentiable structure. Refer to this paper for
524	// more details: https://arxiv.org/abs/1906.02825
525	//
526	// XRAI currently performs better on natural images, like a picture of a
527	// house or an animal. If the images are taken in artificial environments,
528	// like a lab or manufacturing line, or from diagnostic equipment, like
529	// x-rays or quality-control cameras, use Integrated Gradients instead.
530	XraiAttribution *XraiAttribution `protobuf:"bytes,3,opt,name=xrai_attribution,json=xraiAttribution,proto3,oneof"`
531}
532
533func (*ExplanationParameters_SampledShapleyAttribution) isExplanationParameters_Method() {}
534
535func (*ExplanationParameters_IntegratedGradientsAttribution) isExplanationParameters_Method() {}
536
537func (*ExplanationParameters_XraiAttribution) isExplanationParameters_Method() {}
538
539// An attribution method that approximates Shapley values for features that
540// contribute to the label being predicted. A sampling strategy is used to
541// approximate the value rather than considering all subsets of features.
542type SampledShapleyAttribution struct {
543	state         protoimpl.MessageState
544	sizeCache     protoimpl.SizeCache
545	unknownFields protoimpl.UnknownFields
546
547	// Required. The number of feature permutations to consider when approximating the
548	// Shapley values.
549	//
550	// Valid range of its value is [1, 50], inclusively.
551	PathCount int32 `protobuf:"varint,1,opt,name=path_count,json=pathCount,proto3" json:"path_count,omitempty"`
552}
553
554func (x *SampledShapleyAttribution) Reset() {
555	*x = SampledShapleyAttribution{}
556	if protoimpl.UnsafeEnabled {
557		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[5]
558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
559		ms.StoreMessageInfo(mi)
560	}
561}
562
563func (x *SampledShapleyAttribution) String() string {
564	return protoimpl.X.MessageStringOf(x)
565}
566
567func (*SampledShapleyAttribution) ProtoMessage() {}
568
569func (x *SampledShapleyAttribution) ProtoReflect() protoreflect.Message {
570	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[5]
571	if protoimpl.UnsafeEnabled && x != nil {
572		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
573		if ms.LoadMessageInfo() == nil {
574			ms.StoreMessageInfo(mi)
575		}
576		return ms
577	}
578	return mi.MessageOf(x)
579}
580
581// Deprecated: Use SampledShapleyAttribution.ProtoReflect.Descriptor instead.
582func (*SampledShapleyAttribution) Descriptor() ([]byte, []int) {
583	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{5}
584}
585
586func (x *SampledShapleyAttribution) GetPathCount() int32 {
587	if x != nil {
588		return x.PathCount
589	}
590	return 0
591}
592
593// An attribution method that computes the Aumann-Shapley value taking advantage
594// of the model's fully differentiable structure. Refer to this paper for
595// more details: https://arxiv.org/abs/1703.01365
596type IntegratedGradientsAttribution struct {
597	state         protoimpl.MessageState
598	sizeCache     protoimpl.SizeCache
599	unknownFields protoimpl.UnknownFields
600
601	// Required. The number of steps for approximating the path integral.
602	// A good value to start is 50 and gradually increase until the
603	// sum to diff property is within the desired error range.
604	//
605	// Valid range of its value is [1, 100], inclusively.
606	StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"`
607	// Config for SmoothGrad approximation of gradients.
608	//
609	// When enabled, the gradients are approximated by averaging the gradients
610	// from noisy samples in the vicinity of the inputs. Adding
611	// noise can help improve the computed gradients. Refer to this paper for more
612	// details: https://arxiv.org/pdf/1706.03825.pdf
613	SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"`
614}
615
616func (x *IntegratedGradientsAttribution) Reset() {
617	*x = IntegratedGradientsAttribution{}
618	if protoimpl.UnsafeEnabled {
619		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[6]
620		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
621		ms.StoreMessageInfo(mi)
622	}
623}
624
625func (x *IntegratedGradientsAttribution) String() string {
626	return protoimpl.X.MessageStringOf(x)
627}
628
629func (*IntegratedGradientsAttribution) ProtoMessage() {}
630
631func (x *IntegratedGradientsAttribution) ProtoReflect() protoreflect.Message {
632	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[6]
633	if protoimpl.UnsafeEnabled && x != nil {
634		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
635		if ms.LoadMessageInfo() == nil {
636			ms.StoreMessageInfo(mi)
637		}
638		return ms
639	}
640	return mi.MessageOf(x)
641}
642
643// Deprecated: Use IntegratedGradientsAttribution.ProtoReflect.Descriptor instead.
644func (*IntegratedGradientsAttribution) Descriptor() ([]byte, []int) {
645	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{6}
646}
647
648func (x *IntegratedGradientsAttribution) GetStepCount() int32 {
649	if x != nil {
650		return x.StepCount
651	}
652	return 0
653}
654
655func (x *IntegratedGradientsAttribution) GetSmoothGradConfig() *SmoothGradConfig {
656	if x != nil {
657		return x.SmoothGradConfig
658	}
659	return nil
660}
661
662// An explanation method that redistributes Integrated Gradients
663// attributions to segmented regions, taking advantage of the model's fully
664// differentiable structure. Refer to this paper for more details:
665// https://arxiv.org/abs/1906.02825
666//
667// Supported only by image Models.
668type XraiAttribution struct {
669	state         protoimpl.MessageState
670	sizeCache     protoimpl.SizeCache
671	unknownFields protoimpl.UnknownFields
672
673	// Required. The number of steps for approximating the path integral.
674	// A good value to start is 50 and gradually increase until the
675	// sum to diff property is met within the desired error range.
676	//
677	// Valid range of its value is [1, 100], inclusively.
678	StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"`
679	// Config for SmoothGrad approximation of gradients.
680	//
681	// When enabled, the gradients are approximated by averaging the gradients
682	// from noisy samples in the vicinity of the inputs. Adding
683	// noise can help improve the computed gradients. Refer to this paper for more
684	// details: https://arxiv.org/pdf/1706.03825.pdf
685	SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"`
686}
687
688func (x *XraiAttribution) Reset() {
689	*x = XraiAttribution{}
690	if protoimpl.UnsafeEnabled {
691		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[7]
692		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
693		ms.StoreMessageInfo(mi)
694	}
695}
696
697func (x *XraiAttribution) String() string {
698	return protoimpl.X.MessageStringOf(x)
699}
700
701func (*XraiAttribution) ProtoMessage() {}
702
703func (x *XraiAttribution) ProtoReflect() protoreflect.Message {
704	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[7]
705	if protoimpl.UnsafeEnabled && x != nil {
706		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
707		if ms.LoadMessageInfo() == nil {
708			ms.StoreMessageInfo(mi)
709		}
710		return ms
711	}
712	return mi.MessageOf(x)
713}
714
715// Deprecated: Use XraiAttribution.ProtoReflect.Descriptor instead.
716func (*XraiAttribution) Descriptor() ([]byte, []int) {
717	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{7}
718}
719
720func (x *XraiAttribution) GetStepCount() int32 {
721	if x != nil {
722		return x.StepCount
723	}
724	return 0
725}
726
727func (x *XraiAttribution) GetSmoothGradConfig() *SmoothGradConfig {
728	if x != nil {
729		return x.SmoothGradConfig
730	}
731	return nil
732}
733
734// Config for SmoothGrad approximation of gradients.
735//
736// When enabled, the gradients are approximated by averaging the gradients from
737// noisy samples in the vicinity of the inputs. Adding noise can help improve
738// the computed gradients. Refer to this paper for more details:
739// https://arxiv.org/pdf/1706.03825.pdf
740type SmoothGradConfig struct {
741	state         protoimpl.MessageState
742	sizeCache     protoimpl.SizeCache
743	unknownFields protoimpl.UnknownFields
744
745	// Represents the standard deviation of the gaussian kernel
746	// that will be used to add noise to the interpolated inputs
747	// prior to computing gradients.
748	//
749	// Types that are assignable to GradientNoiseSigma:
750	//	*SmoothGradConfig_NoiseSigma
751	//	*SmoothGradConfig_FeatureNoiseSigma
752	GradientNoiseSigma isSmoothGradConfig_GradientNoiseSigma `protobuf_oneof:"GradientNoiseSigma"`
753	// The number of gradient samples to use for
754	// approximation. The higher this number, the more accurate the gradient
755	// is, but the runtime complexity increases by this factor as well.
756	// Valid range of its value is [1, 50]. Defaults to 3.
757	NoisySampleCount int32 `protobuf:"varint,3,opt,name=noisy_sample_count,json=noisySampleCount,proto3" json:"noisy_sample_count,omitempty"`
758}
759
760func (x *SmoothGradConfig) Reset() {
761	*x = SmoothGradConfig{}
762	if protoimpl.UnsafeEnabled {
763		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[8]
764		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
765		ms.StoreMessageInfo(mi)
766	}
767}
768
769func (x *SmoothGradConfig) String() string {
770	return protoimpl.X.MessageStringOf(x)
771}
772
773func (*SmoothGradConfig) ProtoMessage() {}
774
775func (x *SmoothGradConfig) ProtoReflect() protoreflect.Message {
776	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[8]
777	if protoimpl.UnsafeEnabled && x != nil {
778		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
779		if ms.LoadMessageInfo() == nil {
780			ms.StoreMessageInfo(mi)
781		}
782		return ms
783	}
784	return mi.MessageOf(x)
785}
786
787// Deprecated: Use SmoothGradConfig.ProtoReflect.Descriptor instead.
788func (*SmoothGradConfig) Descriptor() ([]byte, []int) {
789	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{8}
790}
791
792func (m *SmoothGradConfig) GetGradientNoiseSigma() isSmoothGradConfig_GradientNoiseSigma {
793	if m != nil {
794		return m.GradientNoiseSigma
795	}
796	return nil
797}
798
799func (x *SmoothGradConfig) GetNoiseSigma() float32 {
800	if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_NoiseSigma); ok {
801		return x.NoiseSigma
802	}
803	return 0
804}
805
806func (x *SmoothGradConfig) GetFeatureNoiseSigma() *FeatureNoiseSigma {
807	if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_FeatureNoiseSigma); ok {
808		return x.FeatureNoiseSigma
809	}
810	return nil
811}
812
813func (x *SmoothGradConfig) GetNoisySampleCount() int32 {
814	if x != nil {
815		return x.NoisySampleCount
816	}
817	return 0
818}
819
820type isSmoothGradConfig_GradientNoiseSigma interface {
821	isSmoothGradConfig_GradientNoiseSigma()
822}
823
824type SmoothGradConfig_NoiseSigma struct {
825	// This is a single float value and will be used to add noise to all the
826	// features. Use this field when all features are normalized to have the
827	// same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
828	// features are normalized to have 0-mean and 1-variance. Learn more about
829	// [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
830	//
831	// For best results the recommended value is about 10% - 20% of the standard
832	// deviation of the input feature. Refer to section 3.2 of the SmoothGrad
833	// paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
834	//
835	// If the distribution is different per feature, set
836	// [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead
837	// for each feature.
838	NoiseSigma float32 `protobuf:"fixed32,1,opt,name=noise_sigma,json=noiseSigma,proto3,oneof"`
839}
840
841type SmoothGradConfig_FeatureNoiseSigma struct {
842	// This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
843	// provides additional flexibility. A separate noise sigma can be provided
844	// for each feature, which is useful if their distributions are different.
845	// No noise is added to features that are not set. If this field is unset,
846	// [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
847	// features.
848	FeatureNoiseSigma *FeatureNoiseSigma `protobuf:"bytes,2,opt,name=feature_noise_sigma,json=featureNoiseSigma,proto3,oneof"`
849}
850
851func (*SmoothGradConfig_NoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {}
852
853func (*SmoothGradConfig_FeatureNoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {}
854
855// Noise sigma by features. Noise sigma represents the standard deviation of the
856// gaussian kernel that will be used to add noise to interpolated inputs prior
857// to computing gradients.
858type FeatureNoiseSigma struct {
859	state         protoimpl.MessageState
860	sizeCache     protoimpl.SizeCache
861	unknownFields protoimpl.UnknownFields
862
863	// Noise sigma per feature. No noise is added to features that are not set.
864	NoiseSigma []*FeatureNoiseSigma_NoiseSigmaForFeature `protobuf:"bytes,1,rep,name=noise_sigma,json=noiseSigma,proto3" json:"noise_sigma,omitempty"`
865}
866
867func (x *FeatureNoiseSigma) Reset() {
868	*x = FeatureNoiseSigma{}
869	if protoimpl.UnsafeEnabled {
870		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[9]
871		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
872		ms.StoreMessageInfo(mi)
873	}
874}
875
876func (x *FeatureNoiseSigma) String() string {
877	return protoimpl.X.MessageStringOf(x)
878}
879
880func (*FeatureNoiseSigma) ProtoMessage() {}
881
882func (x *FeatureNoiseSigma) ProtoReflect() protoreflect.Message {
883	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[9]
884	if protoimpl.UnsafeEnabled && x != nil {
885		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
886		if ms.LoadMessageInfo() == nil {
887			ms.StoreMessageInfo(mi)
888		}
889		return ms
890	}
891	return mi.MessageOf(x)
892}
893
894// Deprecated: Use FeatureNoiseSigma.ProtoReflect.Descriptor instead.
895func (*FeatureNoiseSigma) Descriptor() ([]byte, []int) {
896	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{9}
897}
898
899func (x *FeatureNoiseSigma) GetNoiseSigma() []*FeatureNoiseSigma_NoiseSigmaForFeature {
900	if x != nil {
901		return x.NoiseSigma
902	}
903	return nil
904}
905
906// The [ExplanationSpec][google.cloud.aiplatform.v1.ExplanationSpec] entries that can be overridden at
907// [online explanation][google.cloud.aiplatform.v1.PredictionService.Explain] time.
908type ExplanationSpecOverride struct {
909	state         protoimpl.MessageState
910	sizeCache     protoimpl.SizeCache
911	unknownFields protoimpl.UnknownFields
912
913	// The parameters to be overridden. Note that the
914	// [method][google.cloud.aiplatform.v1.ExplanationParameters.method] cannot be changed. If not specified,
915	// no parameter is overridden.
916	Parameters *ExplanationParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"`
917	// The metadata to be overridden. If not specified, no metadata is overridden.
918	Metadata *ExplanationMetadataOverride `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
919}
920
921func (x *ExplanationSpecOverride) Reset() {
922	*x = ExplanationSpecOverride{}
923	if protoimpl.UnsafeEnabled {
924		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[10]
925		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
926		ms.StoreMessageInfo(mi)
927	}
928}
929
930func (x *ExplanationSpecOverride) String() string {
931	return protoimpl.X.MessageStringOf(x)
932}
933
934func (*ExplanationSpecOverride) ProtoMessage() {}
935
936func (x *ExplanationSpecOverride) ProtoReflect() protoreflect.Message {
937	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[10]
938	if protoimpl.UnsafeEnabled && x != nil {
939		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
940		if ms.LoadMessageInfo() == nil {
941			ms.StoreMessageInfo(mi)
942		}
943		return ms
944	}
945	return mi.MessageOf(x)
946}
947
948// Deprecated: Use ExplanationSpecOverride.ProtoReflect.Descriptor instead.
949func (*ExplanationSpecOverride) Descriptor() ([]byte, []int) {
950	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{10}
951}
952
953func (x *ExplanationSpecOverride) GetParameters() *ExplanationParameters {
954	if x != nil {
955		return x.Parameters
956	}
957	return nil
958}
959
960func (x *ExplanationSpecOverride) GetMetadata() *ExplanationMetadataOverride {
961	if x != nil {
962		return x.Metadata
963	}
964	return nil
965}
966
967// The [ExplanationMetadata][google.cloud.aiplatform.v1.ExplanationMetadata] entries that can be overridden at
968// [online explanation][google.cloud.aiplatform.v1.PredictionService.Explain] time.
969type ExplanationMetadataOverride struct {
970	state         protoimpl.MessageState
971	sizeCache     protoimpl.SizeCache
972	unknownFields protoimpl.UnknownFields
973
974	// Required. Overrides the [input metadata][google.cloud.aiplatform.v1.ExplanationMetadata.inputs] of the features.
975	// The key is the name of the feature to be overridden. The keys specified
976	// here must exist in the input metadata to be overridden. If a feature is
977	// not specified here, the corresponding feature's input metadata is not
978	// overridden.
979	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"`
980}
981
982func (x *ExplanationMetadataOverride) Reset() {
983	*x = ExplanationMetadataOverride{}
984	if protoimpl.UnsafeEnabled {
985		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[11]
986		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
987		ms.StoreMessageInfo(mi)
988	}
989}
990
991func (x *ExplanationMetadataOverride) String() string {
992	return protoimpl.X.MessageStringOf(x)
993}
994
995func (*ExplanationMetadataOverride) ProtoMessage() {}
996
997func (x *ExplanationMetadataOverride) ProtoReflect() protoreflect.Message {
998	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[11]
999	if protoimpl.UnsafeEnabled && x != nil {
1000		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1001		if ms.LoadMessageInfo() == nil {
1002			ms.StoreMessageInfo(mi)
1003		}
1004		return ms
1005	}
1006	return mi.MessageOf(x)
1007}
1008
1009// Deprecated: Use ExplanationMetadataOverride.ProtoReflect.Descriptor instead.
1010func (*ExplanationMetadataOverride) Descriptor() ([]byte, []int) {
1011	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{11}
1012}
1013
1014func (x *ExplanationMetadataOverride) GetInputs() map[string]*ExplanationMetadataOverride_InputMetadataOverride {
1015	if x != nil {
1016		return x.Inputs
1017	}
1018	return nil
1019}
1020
1021// Noise sigma for a single feature.
1022type FeatureNoiseSigma_NoiseSigmaForFeature struct {
1023	state         protoimpl.MessageState
1024	sizeCache     protoimpl.SizeCache
1025	unknownFields protoimpl.UnknownFields
1026
1027	// The name of the input feature for which noise sigma is provided. The
1028	// features are defined in
1029	// [explanation metadata inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs].
1030	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1031	// This represents the standard deviation of the Gaussian kernel that will
1032	// be used to add noise to the feature prior to computing gradients. Similar
1033	// to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] but represents the
1034	// noise added to the current feature. Defaults to 0.1.
1035	Sigma float32 `protobuf:"fixed32,2,opt,name=sigma,proto3" json:"sigma,omitempty"`
1036}
1037
1038func (x *FeatureNoiseSigma_NoiseSigmaForFeature) Reset() {
1039	*x = FeatureNoiseSigma_NoiseSigmaForFeature{}
1040	if protoimpl.UnsafeEnabled {
1041		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[12]
1042		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1043		ms.StoreMessageInfo(mi)
1044	}
1045}
1046
1047func (x *FeatureNoiseSigma_NoiseSigmaForFeature) String() string {
1048	return protoimpl.X.MessageStringOf(x)
1049}
1050
1051func (*FeatureNoiseSigma_NoiseSigmaForFeature) ProtoMessage() {}
1052
1053func (x *FeatureNoiseSigma_NoiseSigmaForFeature) ProtoReflect() protoreflect.Message {
1054	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[12]
1055	if protoimpl.UnsafeEnabled && x != nil {
1056		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1057		if ms.LoadMessageInfo() == nil {
1058			ms.StoreMessageInfo(mi)
1059		}
1060		return ms
1061	}
1062	return mi.MessageOf(x)
1063}
1064
1065// Deprecated: Use FeatureNoiseSigma_NoiseSigmaForFeature.ProtoReflect.Descriptor instead.
1066func (*FeatureNoiseSigma_NoiseSigmaForFeature) Descriptor() ([]byte, []int) {
1067	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{9, 0}
1068}
1069
1070func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetName() string {
1071	if x != nil {
1072		return x.Name
1073	}
1074	return ""
1075}
1076
1077func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetSigma() float32 {
1078	if x != nil {
1079		return x.Sigma
1080	}
1081	return 0
1082}
1083
1084// The [input metadata][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata] entries to be
1085// overridden.
1086type ExplanationMetadataOverride_InputMetadataOverride struct {
1087	state         protoimpl.MessageState
1088	sizeCache     protoimpl.SizeCache
1089	unknownFields protoimpl.UnknownFields
1090
1091	// Baseline inputs for this feature.
1092	//
1093	// This overrides the `input_baseline` field of the
1094	// [ExplanationMetadata.InputMetadata][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata]
1095	// object of the corresponding feature's input metadata. If it's not
1096	// specified, the original baselines are not overridden.
1097	InputBaselines []*structpb.Value `protobuf:"bytes,1,rep,name=input_baselines,json=inputBaselines,proto3" json:"input_baselines,omitempty"`
1098}
1099
1100func (x *ExplanationMetadataOverride_InputMetadataOverride) Reset() {
1101	*x = ExplanationMetadataOverride_InputMetadataOverride{}
1102	if protoimpl.UnsafeEnabled {
1103		mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[13]
1104		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1105		ms.StoreMessageInfo(mi)
1106	}
1107}
1108
1109func (x *ExplanationMetadataOverride_InputMetadataOverride) String() string {
1110	return protoimpl.X.MessageStringOf(x)
1111}
1112
1113func (*ExplanationMetadataOverride_InputMetadataOverride) ProtoMessage() {}
1114
1115func (x *ExplanationMetadataOverride_InputMetadataOverride) ProtoReflect() protoreflect.Message {
1116	mi := &file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[13]
1117	if protoimpl.UnsafeEnabled && x != nil {
1118		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1119		if ms.LoadMessageInfo() == nil {
1120			ms.StoreMessageInfo(mi)
1121		}
1122		return ms
1123	}
1124	return mi.MessageOf(x)
1125}
1126
1127// Deprecated: Use ExplanationMetadataOverride_InputMetadataOverride.ProtoReflect.Descriptor instead.
1128func (*ExplanationMetadataOverride_InputMetadataOverride) Descriptor() ([]byte, []int) {
1129	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP(), []int{11, 0}
1130}
1131
1132func (x *ExplanationMetadataOverride_InputMetadataOverride) GetInputBaselines() []*structpb.Value {
1133	if x != nil {
1134		return x.InputBaselines
1135	}
1136	return nil
1137}
1138
1139var File_google_cloud_aiplatform_v1_explanation_proto protoreflect.FileDescriptor
1140
1141var file_google_cloud_aiplatform_v1_explanation_proto_rawDesc = []byte{
1142	0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
1143	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70,
1144	0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a,
1145	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
1146	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
1147	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68,
1148	0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f,
1149	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
1150	0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
1151	0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
1152	0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1153	0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69,
1154	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1155	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e,
1156	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
1157	0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
1158	0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
1159	0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
1160	0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1161	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
1162	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
1163	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
1164	0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6d, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x78, 0x70,
1165	0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x11, 0x6d, 0x65, 0x61, 0x6e,
1166	0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
1167	0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1168	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
1169	0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
1170	0x03, 0x52, 0x10, 0x6d, 0x65, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
1171	0x6f, 0x6e, 0x73, 0x22, 0x88, 0x03, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
1172	0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
1173	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01,
1174	0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e,
1175	0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x15,
1176	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
1177	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03,
1178	0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
1179	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
1180	0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20,
1181	0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1182	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03,
1183	0x52, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
1184	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
1185	0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03,
1186	0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x33, 0x0a,
1187	0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f,
1188	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
1189	0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61,
1190	0x6d, 0x65, 0x12, 0x34, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74,
1191	0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x42,
1192	0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74,
1193	0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70,
1194	0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
1195	0x41, 0x03, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xbb,
1196	0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70,
1197	0x65, 0x63, 0x12, 0x56, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
1198	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1199	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
1200	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
1201	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
1202	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x08, 0x6d, 0x65,
1203	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67,
1204	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
1205	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e,
1206	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0,
1207	0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd5, 0x03, 0x0a,
1208	0x15, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
1209	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x77, 0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
1210	0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
1211	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f,
1212	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
1213	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64,
1214	0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
1215	0x6f, 0x6e, 0x48, 0x00, 0x52, 0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61,
1216	0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12,
1217	0x86, 0x01, 0x0a, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67,
1218	0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
1219	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f,
1220	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
1221	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
1222	0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69,
1223	0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72,
1224	0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74,
1225	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x10, 0x78, 0x72, 0x61, 0x69,
1226	0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
1227	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1228	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
1229	0x58, 0x72, 0x61, 0x69, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48,
1230	0x00, 0x52, 0x0f, 0x78, 0x72, 0x61, 0x69, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
1231	0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28,
1232	0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x12, 0x41, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75,
1233	0x74, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
1234	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
1235	0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6f, 0x75, 0x74,
1236	0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65,
1237	0x74, 0x68, 0x6f, 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53,
1238	0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
1239	0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
1240	0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68,
1241	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
1242	0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74,
1243	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70,
1244	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
1245	0x02, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x12,
1246	0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
1247	0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1248	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
1249	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64,
1250	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72,
1251	0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x58, 0x72, 0x61,
1252	0x69, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a,
1253	0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
1254	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74,
1255	0x12, 0x5a, 0x0a, 0x12, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x5f,
1256	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67,
1257	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
1258	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68,
1259	0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x73, 0x6d, 0x6f, 0x6f,
1260	0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xda, 0x01, 0x0a,
1261	0x10, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
1262	0x67, 0x12, 0x21, 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61,
1263	0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53,
1264	0x69, 0x67, 0x6d, 0x61, 0x12, 0x5f, 0x0a, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f,
1265	0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
1266	0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1267	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46,
1268	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61,
1269	0x48, 0x00, 0x52, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65,
1270	0x53, 0x69, 0x67, 0x6d, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x6f, 0x69, 0x73, 0x79, 0x5f, 0x73,
1271	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
1272	0x05, 0x52, 0x10, 0x6e, 0x6f, 0x69, 0x73, 0x79, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f,
1273	0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x4e,
1274	0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x22, 0xba, 0x01, 0x0a, 0x11, 0x46, 0x65,
1275	0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x12,
1276	0x63, 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x01,
1277	0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1278	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
1279	0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69,
1280	0x67, 0x6d, 0x61, 0x2e, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x46, 0x6f,
1281	0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53,
1282	0x69, 0x67, 0x6d, 0x61, 0x1a, 0x40, 0x0a, 0x14, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67,
1283	0x6d, 0x61, 0x46, 0x6f, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04,
1284	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1285	0x12, 0x14, 0x0a, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52,
1286	0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6c, 0x61,
1287	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69,
1288	0x64, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
1289	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1290	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
1291	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
1292	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d,
1293	0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
1294	0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1295	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
1296	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1297	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
1298	0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe4, 0x02, 0x0a, 0x1b, 0x45,
1299	0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
1300	0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x60, 0x0a, 0x06, 0x69, 0x6e,
1301	0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f,
1302	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
1303	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
1304	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72,
1305	0x69, 0x64, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
1306	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x1a, 0x58, 0x0a, 0x15,
1307	0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65,
1308	0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62,
1309	0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
1310	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1311	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x61, 0x73,
1312	0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x88, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74,
1313	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
1314	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x63, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
1315	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1316	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
1317	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1318	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
1319	0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76,
1320	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
1321	0x01, 0x42, 0xd4, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1322	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
1323	0x6d, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
1324	0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1325	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
1326	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
1327	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
1328	0x2f, 0x76, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0xaa, 0x02,
1329	0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49,
1330	0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f,
1331	0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61,
1332	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
1333	0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74,
1334	0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1335}
1336
1337var (
1338	file_google_cloud_aiplatform_v1_explanation_proto_rawDescOnce sync.Once
1339	file_google_cloud_aiplatform_v1_explanation_proto_rawDescData = file_google_cloud_aiplatform_v1_explanation_proto_rawDesc
1340)
1341
1342func file_google_cloud_aiplatform_v1_explanation_proto_rawDescGZIP() []byte {
1343	file_google_cloud_aiplatform_v1_explanation_proto_rawDescOnce.Do(func() {
1344		file_google_cloud_aiplatform_v1_explanation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_explanation_proto_rawDescData)
1345	})
1346	return file_google_cloud_aiplatform_v1_explanation_proto_rawDescData
1347}
1348
1349var file_google_cloud_aiplatform_v1_explanation_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
1350var file_google_cloud_aiplatform_v1_explanation_proto_goTypes = []interface{}{
1351	(*Explanation)(nil),                                       // 0: google.cloud.aiplatform.v1.Explanation
1352	(*ModelExplanation)(nil),                                  // 1: google.cloud.aiplatform.v1.ModelExplanation
1353	(*Attribution)(nil),                                       // 2: google.cloud.aiplatform.v1.Attribution
1354	(*ExplanationSpec)(nil),                                   // 3: google.cloud.aiplatform.v1.ExplanationSpec
1355	(*ExplanationParameters)(nil),                             // 4: google.cloud.aiplatform.v1.ExplanationParameters
1356	(*SampledShapleyAttribution)(nil),                         // 5: google.cloud.aiplatform.v1.SampledShapleyAttribution
1357	(*IntegratedGradientsAttribution)(nil),                    // 6: google.cloud.aiplatform.v1.IntegratedGradientsAttribution
1358	(*XraiAttribution)(nil),                                   // 7: google.cloud.aiplatform.v1.XraiAttribution
1359	(*SmoothGradConfig)(nil),                                  // 8: google.cloud.aiplatform.v1.SmoothGradConfig
1360	(*FeatureNoiseSigma)(nil),                                 // 9: google.cloud.aiplatform.v1.FeatureNoiseSigma
1361	(*ExplanationSpecOverride)(nil),                           // 10: google.cloud.aiplatform.v1.ExplanationSpecOverride
1362	(*ExplanationMetadataOverride)(nil),                       // 11: google.cloud.aiplatform.v1.ExplanationMetadataOverride
1363	(*FeatureNoiseSigma_NoiseSigmaForFeature)(nil),            // 12: google.cloud.aiplatform.v1.FeatureNoiseSigma.NoiseSigmaForFeature
1364	(*ExplanationMetadataOverride_InputMetadataOverride)(nil), // 13: google.cloud.aiplatform.v1.ExplanationMetadataOverride.InputMetadataOverride
1365	nil,                         // 14: google.cloud.aiplatform.v1.ExplanationMetadataOverride.InputsEntry
1366	(*structpb.Value)(nil),      // 15: google.protobuf.Value
1367	(*ExplanationMetadata)(nil), // 16: google.cloud.aiplatform.v1.ExplanationMetadata
1368	(*structpb.ListValue)(nil),  // 17: google.protobuf.ListValue
1369}
1370var file_google_cloud_aiplatform_v1_explanation_proto_depIdxs = []int32{
1371	2,  // 0: google.cloud.aiplatform.v1.Explanation.attributions:type_name -> google.cloud.aiplatform.v1.Attribution
1372	2,  // 1: google.cloud.aiplatform.v1.ModelExplanation.mean_attributions:type_name -> google.cloud.aiplatform.v1.Attribution
1373	15, // 2: google.cloud.aiplatform.v1.Attribution.feature_attributions:type_name -> google.protobuf.Value
1374	4,  // 3: google.cloud.aiplatform.v1.ExplanationSpec.parameters:type_name -> google.cloud.aiplatform.v1.ExplanationParameters
1375	16, // 4: google.cloud.aiplatform.v1.ExplanationSpec.metadata:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata
1376	5,  // 5: google.cloud.aiplatform.v1.ExplanationParameters.sampled_shapley_attribution:type_name -> google.cloud.aiplatform.v1.SampledShapleyAttribution
1377	6,  // 6: google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution:type_name -> google.cloud.aiplatform.v1.IntegratedGradientsAttribution
1378	7,  // 7: google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution:type_name -> google.cloud.aiplatform.v1.XraiAttribution
1379	17, // 8: google.cloud.aiplatform.v1.ExplanationParameters.output_indices:type_name -> google.protobuf.ListValue
1380	8,  // 9: google.cloud.aiplatform.v1.IntegratedGradientsAttribution.smooth_grad_config:type_name -> google.cloud.aiplatform.v1.SmoothGradConfig
1381	8,  // 10: google.cloud.aiplatform.v1.XraiAttribution.smooth_grad_config:type_name -> google.cloud.aiplatform.v1.SmoothGradConfig
1382	9,  // 11: google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma:type_name -> google.cloud.aiplatform.v1.FeatureNoiseSigma
1383	12, // 12: google.cloud.aiplatform.v1.FeatureNoiseSigma.noise_sigma:type_name -> google.cloud.aiplatform.v1.FeatureNoiseSigma.NoiseSigmaForFeature
1384	4,  // 13: google.cloud.aiplatform.v1.ExplanationSpecOverride.parameters:type_name -> google.cloud.aiplatform.v1.ExplanationParameters
1385	11, // 14: google.cloud.aiplatform.v1.ExplanationSpecOverride.metadata:type_name -> google.cloud.aiplatform.v1.ExplanationMetadataOverride
1386	14, // 15: google.cloud.aiplatform.v1.ExplanationMetadataOverride.inputs:type_name -> google.cloud.aiplatform.v1.ExplanationMetadataOverride.InputsEntry
1387	15, // 16: google.cloud.aiplatform.v1.ExplanationMetadataOverride.InputMetadataOverride.input_baselines:type_name -> google.protobuf.Value
1388	13, // 17: google.cloud.aiplatform.v1.ExplanationMetadataOverride.InputsEntry.value:type_name -> google.cloud.aiplatform.v1.ExplanationMetadataOverride.InputMetadataOverride
1389	18, // [18:18] is the sub-list for method output_type
1390	18, // [18:18] is the sub-list for method input_type
1391	18, // [18:18] is the sub-list for extension type_name
1392	18, // [18:18] is the sub-list for extension extendee
1393	0,  // [0:18] is the sub-list for field type_name
1394}
1395
1396func init() { file_google_cloud_aiplatform_v1_explanation_proto_init() }
1397func file_google_cloud_aiplatform_v1_explanation_proto_init() {
1398	if File_google_cloud_aiplatform_v1_explanation_proto != nil {
1399		return
1400	}
1401	file_google_cloud_aiplatform_v1_explanation_metadata_proto_init()
1402	file_google_cloud_aiplatform_v1_io_proto_init()
1403	if !protoimpl.UnsafeEnabled {
1404		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1405			switch v := v.(*Explanation); i {
1406			case 0:
1407				return &v.state
1408			case 1:
1409				return &v.sizeCache
1410			case 2:
1411				return &v.unknownFields
1412			default:
1413				return nil
1414			}
1415		}
1416		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1417			switch v := v.(*ModelExplanation); i {
1418			case 0:
1419				return &v.state
1420			case 1:
1421				return &v.sizeCache
1422			case 2:
1423				return &v.unknownFields
1424			default:
1425				return nil
1426			}
1427		}
1428		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1429			switch v := v.(*Attribution); i {
1430			case 0:
1431				return &v.state
1432			case 1:
1433				return &v.sizeCache
1434			case 2:
1435				return &v.unknownFields
1436			default:
1437				return nil
1438			}
1439		}
1440		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1441			switch v := v.(*ExplanationSpec); i {
1442			case 0:
1443				return &v.state
1444			case 1:
1445				return &v.sizeCache
1446			case 2:
1447				return &v.unknownFields
1448			default:
1449				return nil
1450			}
1451		}
1452		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1453			switch v := v.(*ExplanationParameters); i {
1454			case 0:
1455				return &v.state
1456			case 1:
1457				return &v.sizeCache
1458			case 2:
1459				return &v.unknownFields
1460			default:
1461				return nil
1462			}
1463		}
1464		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1465			switch v := v.(*SampledShapleyAttribution); i {
1466			case 0:
1467				return &v.state
1468			case 1:
1469				return &v.sizeCache
1470			case 2:
1471				return &v.unknownFields
1472			default:
1473				return nil
1474			}
1475		}
1476		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1477			switch v := v.(*IntegratedGradientsAttribution); i {
1478			case 0:
1479				return &v.state
1480			case 1:
1481				return &v.sizeCache
1482			case 2:
1483				return &v.unknownFields
1484			default:
1485				return nil
1486			}
1487		}
1488		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1489			switch v := v.(*XraiAttribution); i {
1490			case 0:
1491				return &v.state
1492			case 1:
1493				return &v.sizeCache
1494			case 2:
1495				return &v.unknownFields
1496			default:
1497				return nil
1498			}
1499		}
1500		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1501			switch v := v.(*SmoothGradConfig); i {
1502			case 0:
1503				return &v.state
1504			case 1:
1505				return &v.sizeCache
1506			case 2:
1507				return &v.unknownFields
1508			default:
1509				return nil
1510			}
1511		}
1512		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1513			switch v := v.(*FeatureNoiseSigma); i {
1514			case 0:
1515				return &v.state
1516			case 1:
1517				return &v.sizeCache
1518			case 2:
1519				return &v.unknownFields
1520			default:
1521				return nil
1522			}
1523		}
1524		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1525			switch v := v.(*ExplanationSpecOverride); i {
1526			case 0:
1527				return &v.state
1528			case 1:
1529				return &v.sizeCache
1530			case 2:
1531				return &v.unknownFields
1532			default:
1533				return nil
1534			}
1535		}
1536		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1537			switch v := v.(*ExplanationMetadataOverride); i {
1538			case 0:
1539				return &v.state
1540			case 1:
1541				return &v.sizeCache
1542			case 2:
1543				return &v.unknownFields
1544			default:
1545				return nil
1546			}
1547		}
1548		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
1549			switch v := v.(*FeatureNoiseSigma_NoiseSigmaForFeature); i {
1550			case 0:
1551				return &v.state
1552			case 1:
1553				return &v.sizeCache
1554			case 2:
1555				return &v.unknownFields
1556			default:
1557				return nil
1558			}
1559		}
1560		file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
1561			switch v := v.(*ExplanationMetadataOverride_InputMetadataOverride); i {
1562			case 0:
1563				return &v.state
1564			case 1:
1565				return &v.sizeCache
1566			case 2:
1567				return &v.unknownFields
1568			default:
1569				return nil
1570			}
1571		}
1572	}
1573	file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[4].OneofWrappers = []interface{}{
1574		(*ExplanationParameters_SampledShapleyAttribution)(nil),
1575		(*ExplanationParameters_IntegratedGradientsAttribution)(nil),
1576		(*ExplanationParameters_XraiAttribution)(nil),
1577	}
1578	file_google_cloud_aiplatform_v1_explanation_proto_msgTypes[8].OneofWrappers = []interface{}{
1579		(*SmoothGradConfig_NoiseSigma)(nil),
1580		(*SmoothGradConfig_FeatureNoiseSigma)(nil),
1581	}
1582	type x struct{}
1583	out := protoimpl.TypeBuilder{
1584		File: protoimpl.DescBuilder{
1585			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1586			RawDescriptor: file_google_cloud_aiplatform_v1_explanation_proto_rawDesc,
1587			NumEnums:      0,
1588			NumMessages:   15,
1589			NumExtensions: 0,
1590			NumServices:   0,
1591		},
1592		GoTypes:           file_google_cloud_aiplatform_v1_explanation_proto_goTypes,
1593		DependencyIndexes: file_google_cloud_aiplatform_v1_explanation_proto_depIdxs,
1594		MessageInfos:      file_google_cloud_aiplatform_v1_explanation_proto_msgTypes,
1595	}.Build()
1596	File_google_cloud_aiplatform_v1_explanation_proto = out.File
1597	file_google_cloud_aiplatform_v1_explanation_proto_rawDesc = nil
1598	file_google_cloud_aiplatform_v1_explanation_proto_goTypes = nil
1599	file_google_cloud_aiplatform_v1_explanation_proto_depIdxs = nil
1600}
1601