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