1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/aiplatform/v1beta1/explanation.proto
20
21package aiplatform
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	proto "github.com/golang/protobuf/proto"
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
30	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
31	structpb "google.golang.org/protobuf/types/known/structpb"
32)
33
34const (
35	// Verify that this generated code is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
37	// Verify that runtime/protoimpl is sufficiently up-to-date.
38	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
39)
40
41// This is a compile-time assertion that a sufficiently up-to-date version
42// of the legacy proto package is being used.
43const _ = proto.ProtoPackageIsVersion4
44
45// Explanation of a [prediction][ExplainResponse.predictions] produced by the
46// Model on a given [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances].
47//
48// Currently, only AutoML tabular Models support explanation.
49type Explanation struct {
50	state         protoimpl.MessageState
51	sizeCache     protoimpl.SizeCache
52	unknownFields protoimpl.UnknownFields
53
54	// Output only. Feature attributions grouped by predicted outputs.
55	//
56	// For Models that predict only one output, such as regression Models that
57	// predict only one score, there is only one attibution that explains the
58	// predicted output. For Models that predict multiple outputs, such as
59	// multiclass Models that predict multiple classes, each element explains one
60	// specific item. [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] can be used to identify which
61	// output this attribution is explaining.
62	//
63	Attributions []*Attribution `protobuf:"bytes,1,rep,name=attributions,proto3" json:"attributions,omitempty"`
64}
65
66func (x *Explanation) Reset() {
67	*x = Explanation{}
68	if protoimpl.UnsafeEnabled {
69		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0]
70		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
71		ms.StoreMessageInfo(mi)
72	}
73}
74
75func (x *Explanation) String() string {
76	return protoimpl.X.MessageStringOf(x)
77}
78
79func (*Explanation) ProtoMessage() {}
80
81func (x *Explanation) ProtoReflect() protoreflect.Message {
82	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0]
83	if protoimpl.UnsafeEnabled && x != nil {
84		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
85		if ms.LoadMessageInfo() == nil {
86			ms.StoreMessageInfo(mi)
87		}
88		return ms
89	}
90	return mi.MessageOf(x)
91}
92
93// Deprecated: Use Explanation.ProtoReflect.Descriptor instead.
94func (*Explanation) Descriptor() ([]byte, []int) {
95	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{0}
96}
97
98func (x *Explanation) GetAttributions() []*Attribution {
99	if x != nil {
100		return x.Attributions
101	}
102	return nil
103}
104
105// Aggregated explanation metrics for a Model over a set of instances.
106//
107// Currently, only AutoML tabular Models support aggregated explanation.
108type ModelExplanation struct {
109	state         protoimpl.MessageState
110	sizeCache     protoimpl.SizeCache
111	unknownFields protoimpl.UnknownFields
112
113	// Output only. Aggregated attributions explaning the Model's prediction outputs over the
114	// set of instances. The attributions are grouped by outputs.
115	//
116	// For Models that predict only one output, such as regression Models that
117	// predict only one score, there is only one attibution that explains the
118	// predicted output. For Models that predict multiple outputs, such as
119	// multiclass Models that predict multiple classes, each element explains one
120	// specific item. [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] can be used to identify which
121	// output this attribution is explaining.
122	//
123	// The [baselineOutputValue][google.cloud.aiplatform.v1beta1.Attribution.baseline_output_value],
124	// [instanceOutputValue][google.cloud.aiplatform.v1beta1.Attribution.instance_output_value] and
125	// [featureAttributions][google.cloud.aiplatform.v1beta1.Attribution.feature_attributions] fields are
126	// averaged over the test data.
127	//
128	// NOTE: Currently AutoML tabular classification Models produce only one
129	// attribution, which averages attributions over all the classes it predicts.
130	// [Attribution.approximation_error][google.cloud.aiplatform.v1beta1.Attribution.approximation_error] is not populated.
131	MeanAttributions []*Attribution `protobuf:"bytes,1,rep,name=mean_attributions,json=meanAttributions,proto3" json:"mean_attributions,omitempty"`
132}
133
134func (x *ModelExplanation) Reset() {
135	*x = ModelExplanation{}
136	if protoimpl.UnsafeEnabled {
137		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1]
138		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
139		ms.StoreMessageInfo(mi)
140	}
141}
142
143func (x *ModelExplanation) String() string {
144	return protoimpl.X.MessageStringOf(x)
145}
146
147func (*ModelExplanation) ProtoMessage() {}
148
149func (x *ModelExplanation) ProtoReflect() protoreflect.Message {
150	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1]
151	if protoimpl.UnsafeEnabled && x != nil {
152		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
153		if ms.LoadMessageInfo() == nil {
154			ms.StoreMessageInfo(mi)
155		}
156		return ms
157	}
158	return mi.MessageOf(x)
159}
160
161// Deprecated: Use ModelExplanation.ProtoReflect.Descriptor instead.
162func (*ModelExplanation) Descriptor() ([]byte, []int) {
163	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{1}
164}
165
166func (x *ModelExplanation) GetMeanAttributions() []*Attribution {
167	if x != nil {
168		return x.MeanAttributions
169	}
170	return nil
171}
172
173// Attribution that explains a particular prediction output.
174type Attribution struct {
175	state         protoimpl.MessageState
176	sizeCache     protoimpl.SizeCache
177	unknownFields protoimpl.UnknownFields
178
179	// Output only. Model predicted output if the input instance is constructed from the
180	// baselines of all the features defined in [ExplanationMetadata.inputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs].
181	// The field name of the output is determined by the key in
182	// [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs].
183	//
184	// If the Model predicted output is a tensor value (for example, an ndarray),
185	// this is the value in the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index].
186	//
187	// If there are multiple baselines, their output values are averaged.
188	BaselineOutputValue float64 `protobuf:"fixed64,1,opt,name=baseline_output_value,json=baselineOutputValue,proto3" json:"baseline_output_value,omitempty"`
189	// Output only. Model predicted output on the corresponding [explanation
190	// instance][ExplainRequest.instances]. The field name of the output is
191	// determined by the key in [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs].
192	//
193	// If the Model predicted output is a tensor value (for example, an ndarray),
194	// this is the value in the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index].
195	InstanceOutputValue float64 `protobuf:"fixed64,2,opt,name=instance_output_value,json=instanceOutputValue,proto3" json:"instance_output_value,omitempty"`
196	// Output only. Attributions of each explained feature. Features are extracted from
197	// the [prediction instances][google.cloud.aiplatform.v1beta1.ExplainRequest.instances] according to
198	// [explanation input metadata][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs].
199	//
200	// The value is a struct, whose keys are the name of the feature. The values
201	// are how much the feature in the [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances]
202	// contributed to the predicted result.
203	//
204	// The format of the value is determined by the feature's input format:
205	//
206	//   * If the feature is a scalar value, the attribution value is a
207	//     [floating number][google.protobuf.Value.number_value].
208	//
209	//   * If the feature is an array of scalar values, the attribution value is
210	//     an [array][google.protobuf.Value.list_value].
211	//
212	//   * If the feature is a struct, the attribution value is a
213	//     [struct][google.protobuf.Value.struct_value]. The keys in the
214	//     attribution value struct are the same as the keys in the feature
215	//     struct. The formats of the values in the attribution struct are
216	//     determined by the formats of the values in the feature struct.
217	//
218	// The [ExplanationMetadata.feature_attributions_schema_uri][google.cloud.aiplatform.v1beta1.ExplanationMetadata.feature_attributions_schema_uri] field,
219	// pointed to by the [ExplanationSpec][google.cloud.aiplatform.v1beta1.ExplanationSpec] field of the
220	// [Endpoint.deployed_models][google.cloud.aiplatform.v1beta1.Endpoint.deployed_models] object, points to the schema file that
221	// describes the features and their attribution values (if it is populated).
222	FeatureAttributions *structpb.Value `protobuf:"bytes,3,opt,name=feature_attributions,json=featureAttributions,proto3" json:"feature_attributions,omitempty"`
223	// Output only. The index that locates the explained prediction output.
224	//
225	// If the prediction output is a scalar value, output_index is not populated.
226	// If the prediction output is a tensor value (for example, an ndarray),
227	// the length of output_index is the same as the number of dimensions of the
228	// output. The i-th element in output_index is the element index of the i-th
229	// dimension of the output vector. Indexes start from 0.
230	OutputIndex []int32 `protobuf:"varint,4,rep,packed,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"`
231	// Output only. The display name of the output identified by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index], e.g. the
232	// predicted class name by a multi-classification Model.
233	//
234	// This field is only populated iff the Model predicts display names as a
235	// separate field along with the explained output. The predicted display name
236	// must has the same shape of the explained output, and can be located using
237	// output_index.
238	OutputDisplayName string `protobuf:"bytes,5,opt,name=output_display_name,json=outputDisplayName,proto3" json:"output_display_name,omitempty"`
239	// Output only. Error of [feature_attributions][google.cloud.aiplatform.v1beta1.Attribution.feature_attributions] caused by approximation used in the
240	// explanation method. Lower value means more precise attributions.
241	//
242	// For Sampled Shapley
243	// [attribution][google.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution],
244	// increasing [path_count][google.cloud.aiplatform.v1beta1.SampledShapleyAttribution.path_count] might reduce
245	// the error.
246	//
247	ApproximationError float64 `protobuf:"fixed64,6,opt,name=approximation_error,json=approximationError,proto3" json:"approximation_error,omitempty"`
248}
249
250func (x *Attribution) Reset() {
251	*x = Attribution{}
252	if protoimpl.UnsafeEnabled {
253		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2]
254		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
255		ms.StoreMessageInfo(mi)
256	}
257}
258
259func (x *Attribution) String() string {
260	return protoimpl.X.MessageStringOf(x)
261}
262
263func (*Attribution) ProtoMessage() {}
264
265func (x *Attribution) ProtoReflect() protoreflect.Message {
266	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2]
267	if protoimpl.UnsafeEnabled && x != nil {
268		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
269		if ms.LoadMessageInfo() == nil {
270			ms.StoreMessageInfo(mi)
271		}
272		return ms
273	}
274	return mi.MessageOf(x)
275}
276
277// Deprecated: Use Attribution.ProtoReflect.Descriptor instead.
278func (*Attribution) Descriptor() ([]byte, []int) {
279	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{2}
280}
281
282func (x *Attribution) GetBaselineOutputValue() float64 {
283	if x != nil {
284		return x.BaselineOutputValue
285	}
286	return 0
287}
288
289func (x *Attribution) GetInstanceOutputValue() float64 {
290	if x != nil {
291		return x.InstanceOutputValue
292	}
293	return 0
294}
295
296func (x *Attribution) GetFeatureAttributions() *structpb.Value {
297	if x != nil {
298		return x.FeatureAttributions
299	}
300	return nil
301}
302
303func (x *Attribution) GetOutputIndex() []int32 {
304	if x != nil {
305		return x.OutputIndex
306	}
307	return nil
308}
309
310func (x *Attribution) GetOutputDisplayName() string {
311	if x != nil {
312		return x.OutputDisplayName
313	}
314	return ""
315}
316
317func (x *Attribution) GetApproximationError() float64 {
318	if x != nil {
319		return x.ApproximationError
320	}
321	return 0
322}
323
324// Specification of Model explanation.
325//
326// Currently, only AutoML tabular Models support explanation.
327type ExplanationSpec struct {
328	state         protoimpl.MessageState
329	sizeCache     protoimpl.SizeCache
330	unknownFields protoimpl.UnknownFields
331
332	// Required. Parameters that configure explaining of the Model's predictions.
333	Parameters *ExplanationParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"`
334	// Required. Metadata describing the Model's input and output for explanation.
335	Metadata *ExplanationMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
336}
337
338func (x *ExplanationSpec) Reset() {
339	*x = ExplanationSpec{}
340	if protoimpl.UnsafeEnabled {
341		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3]
342		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
343		ms.StoreMessageInfo(mi)
344	}
345}
346
347func (x *ExplanationSpec) String() string {
348	return protoimpl.X.MessageStringOf(x)
349}
350
351func (*ExplanationSpec) ProtoMessage() {}
352
353func (x *ExplanationSpec) ProtoReflect() protoreflect.Message {
354	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3]
355	if protoimpl.UnsafeEnabled && x != nil {
356		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
357		if ms.LoadMessageInfo() == nil {
358			ms.StoreMessageInfo(mi)
359		}
360		return ms
361	}
362	return mi.MessageOf(x)
363}
364
365// Deprecated: Use ExplanationSpec.ProtoReflect.Descriptor instead.
366func (*ExplanationSpec) Descriptor() ([]byte, []int) {
367	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{3}
368}
369
370func (x *ExplanationSpec) GetParameters() *ExplanationParameters {
371	if x != nil {
372		return x.Parameters
373	}
374	return nil
375}
376
377func (x *ExplanationSpec) GetMetadata() *ExplanationMetadata {
378	if x != nil {
379		return x.Metadata
380	}
381	return nil
382}
383
384// Parameters to configure explaining for Model's predictions.
385type ExplanationParameters struct {
386	state         protoimpl.MessageState
387	sizeCache     protoimpl.SizeCache
388	unknownFields protoimpl.UnknownFields
389
390	// An attribution method that approximates Shapley values for features that
391	// contribute to the label being predicted. A sampling strategy is used to
392	// approximate the value rather than considering all subsets of features.
393	SampledShapleyAttribution *SampledShapleyAttribution `protobuf:"bytes,1,opt,name=sampled_shapley_attribution,json=sampledShapleyAttribution,proto3" json:"sampled_shapley_attribution,omitempty"`
394}
395
396func (x *ExplanationParameters) Reset() {
397	*x = ExplanationParameters{}
398	if protoimpl.UnsafeEnabled {
399		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4]
400		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
401		ms.StoreMessageInfo(mi)
402	}
403}
404
405func (x *ExplanationParameters) String() string {
406	return protoimpl.X.MessageStringOf(x)
407}
408
409func (*ExplanationParameters) ProtoMessage() {}
410
411func (x *ExplanationParameters) ProtoReflect() protoreflect.Message {
412	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4]
413	if protoimpl.UnsafeEnabled && x != nil {
414		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
415		if ms.LoadMessageInfo() == nil {
416			ms.StoreMessageInfo(mi)
417		}
418		return ms
419	}
420	return mi.MessageOf(x)
421}
422
423// Deprecated: Use ExplanationParameters.ProtoReflect.Descriptor instead.
424func (*ExplanationParameters) Descriptor() ([]byte, []int) {
425	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{4}
426}
427
428func (x *ExplanationParameters) GetSampledShapleyAttribution() *SampledShapleyAttribution {
429	if x != nil {
430		return x.SampledShapleyAttribution
431	}
432	return nil
433}
434
435// An attribution method that approximates Shapley values for features that
436// contribute to the label being predicted. A sampling strategy is used to
437// approximate the value rather than considering all subsets of features.
438type SampledShapleyAttribution struct {
439	state         protoimpl.MessageState
440	sizeCache     protoimpl.SizeCache
441	unknownFields protoimpl.UnknownFields
442
443	// Required. The number of feature permutations to consider when approximating the
444	// Shapley values.
445	//
446	// Valid range of its value is [1, 50], inclusively.
447	PathCount int32 `protobuf:"varint,1,opt,name=path_count,json=pathCount,proto3" json:"path_count,omitempty"`
448}
449
450func (x *SampledShapleyAttribution) Reset() {
451	*x = SampledShapleyAttribution{}
452	if protoimpl.UnsafeEnabled {
453		mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5]
454		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
455		ms.StoreMessageInfo(mi)
456	}
457}
458
459func (x *SampledShapleyAttribution) String() string {
460	return protoimpl.X.MessageStringOf(x)
461}
462
463func (*SampledShapleyAttribution) ProtoMessage() {}
464
465func (x *SampledShapleyAttribution) ProtoReflect() protoreflect.Message {
466	mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5]
467	if protoimpl.UnsafeEnabled && x != nil {
468		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
469		if ms.LoadMessageInfo() == nil {
470			ms.StoreMessageInfo(mi)
471		}
472		return ms
473	}
474	return mi.MessageOf(x)
475}
476
477// Deprecated: Use SampledShapleyAttribution.ProtoReflect.Descriptor instead.
478func (*SampledShapleyAttribution) Descriptor() ([]byte, []int) {
479	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{5}
480}
481
482func (x *SampledShapleyAttribution) GetPathCount() int32 {
483	if x != nil {
484		return x.PathCount
485	}
486	return 0
487}
488
489var File_google_cloud_aiplatform_v1beta1_explanation_proto protoreflect.FileDescriptor
490
491var file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = []byte{
492	0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
493	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
494	0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
495	0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
496	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
497	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
498	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
499	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
500	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76,
501	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
502	0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
503	0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
504	0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
505	0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
506	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a,
507	0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0c,
508	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03,
509	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
510	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
511	0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
512	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
513	0x6f, 0x6e, 0x73, 0x22, 0x72, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x6c,
514	0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x11, 0x6d, 0x65, 0x61, 0x6e, 0x5f,
515	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03,
516	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
517	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
518	0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
519	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69,
520	0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x72,
521	0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x6c,
522	0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
523	0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x62, 0x61, 0x73,
524	0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
525	0x12, 0x37, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x75, 0x74,
526	0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42,
527	0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x75,
528	0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x14, 0x66, 0x65, 0x61,
529	0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
530	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
531	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
532	0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74,
533	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x75, 0x74,
534	0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x42,
535	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65,
536	0x78, 0x12, 0x33, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70,
537	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
538	0xe0, 0x41, 0x03, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c,
539	0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78,
540	0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20,
541	0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78,
542	0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc5, 0x01, 0x0a,
543	0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63,
544	0x12, 0x5b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01,
545	0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
546	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
547	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
548	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41,
549	0x02, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a,
550	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
551	0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
552	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
553	0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
554	0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
555	0x64, 0x61, 0x74, 0x61, 0x22, 0x93, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
556	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x7a,
557	0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x6c, 0x65,
558	0x79, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
559	0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
560	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
561	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61,
562	0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52,
563	0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41,
564	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x19, 0x53, 0x61,
565	0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72,
566	0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f,
567	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
568	0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x84, 0x01, 0x0a, 0x23,
569	0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
570	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
571	0x74, 0x61, 0x31, 0x42, 0x10, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
572	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
573	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
574	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63,
575	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,
576	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
577	0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
578}
579
580var (
581	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescOnce sync.Once
582	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc
583)
584
585func file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP() []byte {
586	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescOnce.Do(func() {
587		file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData)
588	})
589	return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData
590}
591
592var file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
593var file_google_cloud_aiplatform_v1beta1_explanation_proto_goTypes = []interface{}{
594	(*Explanation)(nil),               // 0: google.cloud.aiplatform.v1beta1.Explanation
595	(*ModelExplanation)(nil),          // 1: google.cloud.aiplatform.v1beta1.ModelExplanation
596	(*Attribution)(nil),               // 2: google.cloud.aiplatform.v1beta1.Attribution
597	(*ExplanationSpec)(nil),           // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec
598	(*ExplanationParameters)(nil),     // 4: google.cloud.aiplatform.v1beta1.ExplanationParameters
599	(*SampledShapleyAttribution)(nil), // 5: google.cloud.aiplatform.v1beta1.SampledShapleyAttribution
600	(*structpb.Value)(nil),            // 6: google.protobuf.Value
601	(*ExplanationMetadata)(nil),       // 7: google.cloud.aiplatform.v1beta1.ExplanationMetadata
602}
603var file_google_cloud_aiplatform_v1beta1_explanation_proto_depIdxs = []int32{
604	2, // 0: google.cloud.aiplatform.v1beta1.Explanation.attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution
605	2, // 1: google.cloud.aiplatform.v1beta1.ModelExplanation.mean_attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution
606	6, // 2: google.cloud.aiplatform.v1beta1.Attribution.feature_attributions:type_name -> google.protobuf.Value
607	4, // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec.parameters:type_name -> google.cloud.aiplatform.v1beta1.ExplanationParameters
608	7, // 4: google.cloud.aiplatform.v1beta1.ExplanationSpec.metadata:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata
609	5, // 5: google.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution:type_name -> google.cloud.aiplatform.v1beta1.SampledShapleyAttribution
610	6, // [6:6] is the sub-list for method output_type
611	6, // [6:6] is the sub-list for method input_type
612	6, // [6:6] is the sub-list for extension type_name
613	6, // [6:6] is the sub-list for extension extendee
614	0, // [0:6] is the sub-list for field type_name
615}
616
617func init() { file_google_cloud_aiplatform_v1beta1_explanation_proto_init() }
618func file_google_cloud_aiplatform_v1beta1_explanation_proto_init() {
619	if File_google_cloud_aiplatform_v1beta1_explanation_proto != nil {
620		return
621	}
622	file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_init()
623	if !protoimpl.UnsafeEnabled {
624		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
625			switch v := v.(*Explanation); i {
626			case 0:
627				return &v.state
628			case 1:
629				return &v.sizeCache
630			case 2:
631				return &v.unknownFields
632			default:
633				return nil
634			}
635		}
636		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
637			switch v := v.(*ModelExplanation); i {
638			case 0:
639				return &v.state
640			case 1:
641				return &v.sizeCache
642			case 2:
643				return &v.unknownFields
644			default:
645				return nil
646			}
647		}
648		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
649			switch v := v.(*Attribution); i {
650			case 0:
651				return &v.state
652			case 1:
653				return &v.sizeCache
654			case 2:
655				return &v.unknownFields
656			default:
657				return nil
658			}
659		}
660		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
661			switch v := v.(*ExplanationSpec); i {
662			case 0:
663				return &v.state
664			case 1:
665				return &v.sizeCache
666			case 2:
667				return &v.unknownFields
668			default:
669				return nil
670			}
671		}
672		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
673			switch v := v.(*ExplanationParameters); i {
674			case 0:
675				return &v.state
676			case 1:
677				return &v.sizeCache
678			case 2:
679				return &v.unknownFields
680			default:
681				return nil
682			}
683		}
684		file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
685			switch v := v.(*SampledShapleyAttribution); i {
686			case 0:
687				return &v.state
688			case 1:
689				return &v.sizeCache
690			case 2:
691				return &v.unknownFields
692			default:
693				return nil
694			}
695		}
696	}
697	type x struct{}
698	out := protoimpl.TypeBuilder{
699		File: protoimpl.DescBuilder{
700			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
701			RawDescriptor: file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc,
702			NumEnums:      0,
703			NumMessages:   6,
704			NumExtensions: 0,
705			NumServices:   0,
706		},
707		GoTypes:           file_google_cloud_aiplatform_v1beta1_explanation_proto_goTypes,
708		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_explanation_proto_depIdxs,
709		MessageInfos:      file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes,
710	}.Build()
711	File_google_cloud_aiplatform_v1beta1_explanation_proto = out.File
712	file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = nil
713	file_google_cloud_aiplatform_v1beta1_explanation_proto_goTypes = nil
714	file_google_cloud_aiplatform_v1beta1_explanation_proto_depIdxs = nil
715}
716