google-apis-language_v2 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -166,7 +166,7 @@ module Google
166
166
  # All available features. Setting each one to true will enable that specific
167
167
  # analysis for the input.
168
168
  # Corresponds to the JSON property `features`
169
- # @return [Google::Apis::LanguageV2::Features]
169
+ # @return [Google::Apis::LanguageV2::AnnotateTextRequestFeatures]
170
170
  attr_accessor :features
171
171
 
172
172
  def initialize(**args)
@@ -181,6 +181,48 @@ module Google
181
181
  end
182
182
  end
183
183
 
184
+ # All available features. Setting each one to true will enable that specific
185
+ # analysis for the input.
186
+ class AnnotateTextRequestFeatures
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # Optional. Classify the full document into categories.
190
+ # Corresponds to the JSON property `classifyText`
191
+ # @return [Boolean]
192
+ attr_accessor :classify_text
193
+ alias_method :classify_text?, :classify_text
194
+
195
+ # Optional. Extract document-level sentiment.
196
+ # Corresponds to the JSON property `extractDocumentSentiment`
197
+ # @return [Boolean]
198
+ attr_accessor :extract_document_sentiment
199
+ alias_method :extract_document_sentiment?, :extract_document_sentiment
200
+
201
+ # Optional. Extract entities.
202
+ # Corresponds to the JSON property `extractEntities`
203
+ # @return [Boolean]
204
+ attr_accessor :extract_entities
205
+ alias_method :extract_entities?, :extract_entities
206
+
207
+ # Optional. Moderate the document for harmful and sensitive categories.
208
+ # Corresponds to the JSON property `moderateText`
209
+ # @return [Boolean]
210
+ attr_accessor :moderate_text
211
+ alias_method :moderate_text?, :moderate_text
212
+
213
+ def initialize(**args)
214
+ update!(**args)
215
+ end
216
+
217
+ # Update properties of this object
218
+ def update!(**args)
219
+ @classify_text = args[:classify_text] if args.key?(:classify_text)
220
+ @extract_document_sentiment = args[:extract_document_sentiment] if args.key?(:extract_document_sentiment)
221
+ @extract_entities = args[:extract_entities] if args.key?(:extract_entities)
222
+ @moderate_text = args[:moderate_text] if args.key?(:moderate_text)
223
+ end
224
+ end
225
+
184
226
  # The text annotations response message.
185
227
  class AnnotateTextResponse
186
228
  include Google::Apis::Core::Hashable
@@ -324,6 +366,165 @@ module Google
324
366
  end
325
367
  end
326
368
 
369
+ # Represents a color in the RGBA color space. This representation is designed
370
+ # for simplicity of conversion to and from color representations in various
371
+ # languages over compactness. For example, the fields of this representation can
372
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
373
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
374
+ # method in iOS; and, with just a little work, it can be easily formatted into a
375
+ # CSS `rgba()` string in JavaScript. This reference page doesn't have
376
+ # information about the absolute color space that should be used to interpret
377
+ # the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
378
+ # applications should assume the sRGB color space. When color equality needs to
379
+ # be decided, implementations, unless documented otherwise, treat two colors as
380
+ # equal if all their red, green, blue, and alpha values each differ by at most `
381
+ # 1e-5`. Example (Java): import com.google.type.Color; // ... public static java.
382
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
383
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
384
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
385
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
386
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
387
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
388
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
389
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
390
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
391
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
392
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
393
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
394
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
395
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
396
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
397
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
398
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
399
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
400
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
401
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
402
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
403
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
404
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
405
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
406
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
407
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
408
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
409
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
410
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
411
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
412
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
413
+ # / ...
414
+ class Color
415
+ include Google::Apis::Core::Hashable
416
+
417
+ # The fraction of this color that should be applied to the pixel. That is, the
418
+ # final pixel color is defined by the equation: `pixel color = alpha * (this
419
+ # color) + (1.0 - alpha) * (background color)` This means that a value of 1.0
420
+ # corresponds to a solid color, whereas a value of 0.0 corresponds to a
421
+ # completely transparent color. This uses a wrapper message rather than a simple
422
+ # float scalar so that it is possible to distinguish between a default value and
423
+ # the value being unset. If omitted, this color object is rendered as a solid
424
+ # color (as if the alpha value had been explicitly given a value of 1.0).
425
+ # Corresponds to the JSON property `alpha`
426
+ # @return [Float]
427
+ attr_accessor :alpha
428
+
429
+ # The amount of blue in the color as a value in the interval [0, 1].
430
+ # Corresponds to the JSON property `blue`
431
+ # @return [Float]
432
+ attr_accessor :blue
433
+
434
+ # The amount of green in the color as a value in the interval [0, 1].
435
+ # Corresponds to the JSON property `green`
436
+ # @return [Float]
437
+ attr_accessor :green
438
+
439
+ # The amount of red in the color as a value in the interval [0, 1].
440
+ # Corresponds to the JSON property `red`
441
+ # @return [Float]
442
+ attr_accessor :red
443
+
444
+ def initialize(**args)
445
+ update!(**args)
446
+ end
447
+
448
+ # Update properties of this object
449
+ def update!(**args)
450
+ @alpha = args[:alpha] if args.key?(:alpha)
451
+ @blue = args[:blue] if args.key?(:blue)
452
+ @green = args[:green] if args.key?(:green)
453
+ @red = args[:red] if args.key?(:red)
454
+ end
455
+ end
456
+
457
+ # Metric for billing reports.
458
+ class CpuMetric
459
+ include Google::Apis::Core::Hashable
460
+
461
+ # Required. Number of CPU cores.
462
+ # Corresponds to the JSON property `coreNumber`
463
+ # @return [Fixnum]
464
+ attr_accessor :core_number
465
+
466
+ # Required. Total seconds of core usage, e.g. 4.
467
+ # Corresponds to the JSON property `coreSec`
468
+ # @return [Fixnum]
469
+ attr_accessor :core_sec
470
+
471
+ # Required. Type of cpu, e.g. N2.
472
+ # Corresponds to the JSON property `cpuType`
473
+ # @return [String]
474
+ attr_accessor :cpu_type
475
+
476
+ # Required. Machine spec, e.g. N1_STANDARD_4.
477
+ # Corresponds to the JSON property `machineSpec`
478
+ # @return [String]
479
+ attr_accessor :machine_spec
480
+
481
+ # Billing tracking labels. They do not contain any user data but only the labels
482
+ # set by Vertex Core Infra itself. Tracking labels' keys are defined with
483
+ # special format: goog-[\p`Ll`\p`N`]+ E.g. "key": "goog-k8s-cluster-name","value"
484
+ # : "us-east1-b4rk"
485
+ # Corresponds to the JSON property `trackingLabels`
486
+ # @return [Hash<String,String>]
487
+ attr_accessor :tracking_labels
488
+
489
+ def initialize(**args)
490
+ update!(**args)
491
+ end
492
+
493
+ # Update properties of this object
494
+ def update!(**args)
495
+ @core_number = args[:core_number] if args.key?(:core_number)
496
+ @core_sec = args[:core_sec] if args.key?(:core_sec)
497
+ @cpu_type = args[:cpu_type] if args.key?(:cpu_type)
498
+ @machine_spec = args[:machine_spec] if args.key?(:machine_spec)
499
+ @tracking_labels = args[:tracking_labels] if args.key?(:tracking_labels)
500
+ end
501
+ end
502
+
503
+ #
504
+ class DiskMetric
505
+ include Google::Apis::Core::Hashable
506
+
507
+ # Required. Type of Disk, e.g. REGIONAL_SSD.
508
+ # Corresponds to the JSON property `diskType`
509
+ # @return [String]
510
+ attr_accessor :disk_type
511
+
512
+ # Required. Seconds of physical disk usage, e.g. 3600.
513
+ # Corresponds to the JSON property `gibSec`
514
+ # @return [Fixnum]
515
+ attr_accessor :gib_sec
516
+
517
+ def initialize(**args)
518
+ update!(**args)
519
+ end
520
+
521
+ # Update properties of this object
522
+ def update!(**args)
523
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
524
+ @gib_sec = args[:gib_sec] if args.key?(:gib_sec)
525
+ end
526
+ end
527
+
327
528
  # Represents the input to API methods.
328
529
  class Document
329
530
  include Google::Apis::Core::Hashable
@@ -457,34 +658,32 @@ module Google
457
658
  end
458
659
  end
459
660
 
460
- # All available features. Setting each one to true will enable that specific
461
- # analysis for the input.
462
- class Features
661
+ #
662
+ class GpuMetric
463
663
  include Google::Apis::Core::Hashable
464
664
 
465
- # Optional. Classify the full document into categories.
466
- # Corresponds to the JSON property `classifyText`
467
- # @return [Boolean]
468
- attr_accessor :classify_text
469
- alias_method :classify_text?, :classify_text
665
+ # Required. Seconds of GPU usage, e.g. 3600.
666
+ # Corresponds to the JSON property `gpuSec`
667
+ # @return [Fixnum]
668
+ attr_accessor :gpu_sec
470
669
 
471
- # Optional. Extract document-level sentiment.
472
- # Corresponds to the JSON property `extractDocumentSentiment`
473
- # @return [Boolean]
474
- attr_accessor :extract_document_sentiment
475
- alias_method :extract_document_sentiment?, :extract_document_sentiment
670
+ # Required. Type of GPU, e.g. NVIDIA_TESLA_V100.
671
+ # Corresponds to the JSON property `gpuType`
672
+ # @return [String]
673
+ attr_accessor :gpu_type
476
674
 
477
- # Optional. Extract entities.
478
- # Corresponds to the JSON property `extractEntities`
479
- # @return [Boolean]
480
- attr_accessor :extract_entities
481
- alias_method :extract_entities?, :extract_entities
675
+ # Required. Machine spec, e.g. N1_STANDARD_4.
676
+ # Corresponds to the JSON property `machineSpec`
677
+ # @return [String]
678
+ attr_accessor :machine_spec
482
679
 
483
- # Optional. Moderate the document for harmful and sensitive categories.
484
- # Corresponds to the JSON property `moderateText`
485
- # @return [Boolean]
486
- attr_accessor :moderate_text
487
- alias_method :moderate_text?, :moderate_text
680
+ # Billing tracking labels. They do not contain any user data but only the labels
681
+ # set by Vertex Core Infra itself. Tracking labels' keys are defined with
682
+ # special format: goog-[\p`Ll`\p`N`]+ E.g. "key": "goog-k8s-cluster-name","value"
683
+ # : "us-east1-b4rk"
684
+ # Corresponds to the JSON property `trackingLabels`
685
+ # @return [Hash<String,String>]
686
+ attr_accessor :tracking_labels
488
687
 
489
688
  def initialize(**args)
490
689
  update!(**args)
@@ -492,10 +691,53 @@ module Google
492
691
 
493
692
  # Update properties of this object
494
693
  def update!(**args)
495
- @classify_text = args[:classify_text] if args.key?(:classify_text)
496
- @extract_document_sentiment = args[:extract_document_sentiment] if args.key?(:extract_document_sentiment)
497
- @extract_entities = args[:extract_entities] if args.key?(:extract_entities)
498
- @moderate_text = args[:moderate_text] if args.key?(:moderate_text)
694
+ @gpu_sec = args[:gpu_sec] if args.key?(:gpu_sec)
695
+ @gpu_type = args[:gpu_type] if args.key?(:gpu_type)
696
+ @machine_spec = args[:machine_spec] if args.key?(:machine_spec)
697
+ @tracking_labels = args[:tracking_labels] if args.key?(:tracking_labels)
698
+ end
699
+ end
700
+
701
+ # Infra Usage of billing metrics. Next ID: 6
702
+ class InfraUsage
703
+ include Google::Apis::Core::Hashable
704
+
705
+ # Aggregated core metrics since requested start_time.
706
+ # Corresponds to the JSON property `cpuMetrics`
707
+ # @return [Array<Google::Apis::LanguageV2::CpuMetric>]
708
+ attr_accessor :cpu_metrics
709
+
710
+ # Aggregated persistent disk metrics since requested start_time.
711
+ # Corresponds to the JSON property `diskMetrics`
712
+ # @return [Array<Google::Apis::LanguageV2::DiskMetric>]
713
+ attr_accessor :disk_metrics
714
+
715
+ # Aggregated gpu metrics since requested start_time.
716
+ # Corresponds to the JSON property `gpuMetrics`
717
+ # @return [Array<Google::Apis::LanguageV2::GpuMetric>]
718
+ attr_accessor :gpu_metrics
719
+
720
+ # Aggregated ram metrics since requested start_time.
721
+ # Corresponds to the JSON property `ramMetrics`
722
+ # @return [Array<Google::Apis::LanguageV2::RamMetric>]
723
+ attr_accessor :ram_metrics
724
+
725
+ # Aggregated tpu metrics since requested start_time.
726
+ # Corresponds to the JSON property `tpuMetrics`
727
+ # @return [Array<Google::Apis::LanguageV2::TpuMetric>]
728
+ attr_accessor :tpu_metrics
729
+
730
+ def initialize(**args)
731
+ update!(**args)
732
+ end
733
+
734
+ # Update properties of this object
735
+ def update!(**args)
736
+ @cpu_metrics = args[:cpu_metrics] if args.key?(:cpu_metrics)
737
+ @disk_metrics = args[:disk_metrics] if args.key?(:disk_metrics)
738
+ @gpu_metrics = args[:gpu_metrics] if args.key?(:gpu_metrics)
739
+ @ram_metrics = args[:ram_metrics] if args.key?(:ram_metrics)
740
+ @tpu_metrics = args[:tpu_metrics] if args.key?(:tpu_metrics)
499
741
  end
500
742
  end
501
743
 
@@ -553,6 +795,53 @@ module Google
553
795
  end
554
796
  end
555
797
 
798
+ #
799
+ class RamMetric
800
+ include Google::Apis::Core::Hashable
801
+
802
+ # Required. VM memory in Gigabyte second, e.g. 3600. Using int64 type to match
803
+ # billing metrics definition.
804
+ # Corresponds to the JSON property `gibSec`
805
+ # @return [Fixnum]
806
+ attr_accessor :gib_sec
807
+
808
+ # Required. Machine spec, e.g. N1_STANDARD_4.
809
+ # Corresponds to the JSON property `machineSpec`
810
+ # @return [String]
811
+ attr_accessor :machine_spec
812
+
813
+ # Required. VM memory in gb.
814
+ # Corresponds to the JSON property `memories`
815
+ # @return [Float]
816
+ attr_accessor :memories
817
+
818
+ # Required. Type of ram.
819
+ # Corresponds to the JSON property `ramType`
820
+ # @return [String]
821
+ attr_accessor :ram_type
822
+
823
+ # Billing tracking labels. They do not contain any user data but only the labels
824
+ # set by Vertex Core Infra itself. Tracking labels' keys are defined with
825
+ # special format: goog-[\p`Ll`\p`N`]+ E.g. "key": "goog-k8s-cluster-name","value"
826
+ # : "us-east1-b4rk"
827
+ # Corresponds to the JSON property `trackingLabels`
828
+ # @return [Hash<String,String>]
829
+ attr_accessor :tracking_labels
830
+
831
+ def initialize(**args)
832
+ update!(**args)
833
+ end
834
+
835
+ # Update properties of this object
836
+ def update!(**args)
837
+ @gib_sec = args[:gib_sec] if args.key?(:gib_sec)
838
+ @machine_spec = args[:machine_spec] if args.key?(:machine_spec)
839
+ @memories = args[:memories] if args.key?(:memories)
840
+ @ram_type = args[:ram_type] if args.key?(:ram_type)
841
+ @tracking_labels = args[:tracking_labels] if args.key?(:tracking_labels)
842
+ end
843
+ end
844
+
556
845
  # Represents a sentence in the input document.
557
846
  class Sentence
558
847
  include Google::Apis::Core::Hashable
@@ -668,6 +957,4235 @@ module Google
668
957
  @content = args[:content] if args.key?(:content)
669
958
  end
670
959
  end
960
+
961
+ #
962
+ class TpuMetric
963
+ include Google::Apis::Core::Hashable
964
+
965
+ # Required. Seconds of TPU usage, e.g. 3600.
966
+ # Corresponds to the JSON property `tpuSec`
967
+ # @return [Fixnum]
968
+ attr_accessor :tpu_sec
969
+
970
+ # Required. Type of TPU, e.g. TPU_V2, TPU_V3_POD.
971
+ # Corresponds to the JSON property `tpuType`
972
+ # @return [String]
973
+ attr_accessor :tpu_type
974
+
975
+ def initialize(**args)
976
+ update!(**args)
977
+ end
978
+
979
+ # Update properties of this object
980
+ def update!(**args)
981
+ @tpu_sec = args[:tpu_sec] if args.key?(:tpu_sec)
982
+ @tpu_type = args[:tpu_type] if args.key?(:tpu_type)
983
+ end
984
+ end
985
+
986
+ # The data statistics of a series of ARRAY values.
987
+ class XpsArrayStats
988
+ include Google::Apis::Core::Hashable
989
+
990
+ # Common statistics for a column with a specified data type.
991
+ # Corresponds to the JSON property `commonStats`
992
+ # @return [Google::Apis::LanguageV2::XpsCommonStats]
993
+ attr_accessor :common_stats
994
+
995
+ # The data statistics of a series of values that share the same DataType.
996
+ # Corresponds to the JSON property `memberStats`
997
+ # @return [Google::Apis::LanguageV2::XpsDataStats]
998
+ attr_accessor :member_stats
999
+
1000
+ def initialize(**args)
1001
+ update!(**args)
1002
+ end
1003
+
1004
+ # Update properties of this object
1005
+ def update!(**args)
1006
+ @common_stats = args[:common_stats] if args.key?(:common_stats)
1007
+ @member_stats = args[:member_stats] if args.key?(:member_stats)
1008
+ end
1009
+ end
1010
+
1011
+ #
1012
+ class XpsBatchPredictResponse
1013
+ include Google::Apis::Core::Hashable
1014
+
1015
+ # Set of examples or input sources.
1016
+ # Corresponds to the JSON property `exampleSet`
1017
+ # @return [Google::Apis::LanguageV2::XpsExampleSet]
1018
+ attr_accessor :example_set
1019
+
1020
+ def initialize(**args)
1021
+ update!(**args)
1022
+ end
1023
+
1024
+ # Update properties of this object
1025
+ def update!(**args)
1026
+ @example_set = args[:example_set] if args.key?(:example_set)
1027
+ end
1028
+ end
1029
+
1030
+ # Bounding box matching model metrics for a single intersection-over-union
1031
+ # threshold and multiple label match confidence thresholds.
1032
+ class XpsBoundingBoxMetricsEntry
1033
+ include Google::Apis::Core::Hashable
1034
+
1035
+ # Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,
1036
+ # 0.97,0.98,0.99.
1037
+ # Corresponds to the JSON property `confidenceMetricsEntries`
1038
+ # @return [Array<Google::Apis::LanguageV2::XpsBoundingBoxMetricsEntryConfidenceMetricsEntry>]
1039
+ attr_accessor :confidence_metrics_entries
1040
+
1041
+ # The intersection-over-union threshold value used to compute this metrics entry.
1042
+ # Corresponds to the JSON property `iouThreshold`
1043
+ # @return [Float]
1044
+ attr_accessor :iou_threshold
1045
+
1046
+ # The mean average precision.
1047
+ # Corresponds to the JSON property `meanAveragePrecision`
1048
+ # @return [Float]
1049
+ attr_accessor :mean_average_precision
1050
+
1051
+ def initialize(**args)
1052
+ update!(**args)
1053
+ end
1054
+
1055
+ # Update properties of this object
1056
+ def update!(**args)
1057
+ @confidence_metrics_entries = args[:confidence_metrics_entries] if args.key?(:confidence_metrics_entries)
1058
+ @iou_threshold = args[:iou_threshold] if args.key?(:iou_threshold)
1059
+ @mean_average_precision = args[:mean_average_precision] if args.key?(:mean_average_precision)
1060
+ end
1061
+ end
1062
+
1063
+ # Metrics for a single confidence threshold.
1064
+ class XpsBoundingBoxMetricsEntryConfidenceMetricsEntry
1065
+ include Google::Apis::Core::Hashable
1066
+
1067
+ # The confidence threshold value used to compute the metrics.
1068
+ # Corresponds to the JSON property `confidenceThreshold`
1069
+ # @return [Float]
1070
+ attr_accessor :confidence_threshold
1071
+
1072
+ # The harmonic mean of recall and precision.
1073
+ # Corresponds to the JSON property `f1Score`
1074
+ # @return [Float]
1075
+ attr_accessor :f1_score
1076
+
1077
+ # Precision for the given confidence threshold.
1078
+ # Corresponds to the JSON property `precision`
1079
+ # @return [Float]
1080
+ attr_accessor :precision
1081
+
1082
+ # Recall for the given confidence threshold.
1083
+ # Corresponds to the JSON property `recall`
1084
+ # @return [Float]
1085
+ attr_accessor :recall
1086
+
1087
+ def initialize(**args)
1088
+ update!(**args)
1089
+ end
1090
+
1091
+ # Update properties of this object
1092
+ def update!(**args)
1093
+ @confidence_threshold = args[:confidence_threshold] if args.key?(:confidence_threshold)
1094
+ @f1_score = args[:f1_score] if args.key?(:f1_score)
1095
+ @precision = args[:precision] if args.key?(:precision)
1096
+ @recall = args[:recall] if args.key?(:recall)
1097
+ end
1098
+ end
1099
+
1100
+ # The data statistics of a series of CATEGORY values.
1101
+ class XpsCategoryStats
1102
+ include Google::Apis::Core::Hashable
1103
+
1104
+ # Common statistics for a column with a specified data type.
1105
+ # Corresponds to the JSON property `commonStats`
1106
+ # @return [Google::Apis::LanguageV2::XpsCommonStats]
1107
+ attr_accessor :common_stats
1108
+
1109
+ # The statistics of the top 20 CATEGORY values, ordered by CategoryStats.
1110
+ # SingleCategoryStats.count.
1111
+ # Corresponds to the JSON property `topCategoryStats`
1112
+ # @return [Array<Google::Apis::LanguageV2::XpsCategoryStatsSingleCategoryStats>]
1113
+ attr_accessor :top_category_stats
1114
+
1115
+ def initialize(**args)
1116
+ update!(**args)
1117
+ end
1118
+
1119
+ # Update properties of this object
1120
+ def update!(**args)
1121
+ @common_stats = args[:common_stats] if args.key?(:common_stats)
1122
+ @top_category_stats = args[:top_category_stats] if args.key?(:top_category_stats)
1123
+ end
1124
+ end
1125
+
1126
+ # The statistics of a single CATEGORY value.
1127
+ class XpsCategoryStatsSingleCategoryStats
1128
+ include Google::Apis::Core::Hashable
1129
+
1130
+ # The number of occurrences of this value in the series.
1131
+ # Corresponds to the JSON property `count`
1132
+ # @return [Fixnum]
1133
+ attr_accessor :count
1134
+
1135
+ # The CATEGORY value.
1136
+ # Corresponds to the JSON property `value`
1137
+ # @return [String]
1138
+ attr_accessor :value
1139
+
1140
+ def initialize(**args)
1141
+ update!(**args)
1142
+ end
1143
+
1144
+ # Update properties of this object
1145
+ def update!(**args)
1146
+ @count = args[:count] if args.key?(:count)
1147
+ @value = args[:value] if args.key?(:value)
1148
+ end
1149
+ end
1150
+
1151
+ # Model evaluation metrics for classification problems. It can be used for image
1152
+ # and video classification. Next tag: 9.
1153
+ class XpsClassificationEvaluationMetrics
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # The Area under precision recall curve metric.
1157
+ # Corresponds to the JSON property `auPrc`
1158
+ # @return [Float]
1159
+ attr_accessor :au_prc
1160
+
1161
+ # The Area Under Receiver Operating Characteristic curve metric. Micro-averaged
1162
+ # for the overall evaluation.
1163
+ # Corresponds to the JSON property `auRoc`
1164
+ # @return [Float]
1165
+ attr_accessor :au_roc
1166
+
1167
+ # The Area under precision recall curve metric based on priors.
1168
+ # Corresponds to the JSON property `baseAuPrc`
1169
+ # @return [Float]
1170
+ attr_accessor :base_au_prc
1171
+
1172
+ # Metrics that have confidence thresholds. Precision-recall curve can be derived
1173
+ # from it.
1174
+ # Corresponds to the JSON property `confidenceMetricsEntries`
1175
+ # @return [Array<Google::Apis::LanguageV2::XpsConfidenceMetricsEntry>]
1176
+ attr_accessor :confidence_metrics_entries
1177
+
1178
+ # Confusion matrix of the model running the classification.
1179
+ # Corresponds to the JSON property `confusionMatrix`
1180
+ # @return [Google::Apis::LanguageV2::XpsConfusionMatrix]
1181
+ attr_accessor :confusion_matrix
1182
+
1183
+ # The number of examples used for model evaluation.
1184
+ # Corresponds to the JSON property `evaluatedExamplesCount`
1185
+ # @return [Fixnum]
1186
+ attr_accessor :evaluated_examples_count
1187
+
1188
+ # The Log Loss metric.
1189
+ # Corresponds to the JSON property `logLoss`
1190
+ # @return [Float]
1191
+ attr_accessor :log_loss
1192
+
1193
+ def initialize(**args)
1194
+ update!(**args)
1195
+ end
1196
+
1197
+ # Update properties of this object
1198
+ def update!(**args)
1199
+ @au_prc = args[:au_prc] if args.key?(:au_prc)
1200
+ @au_roc = args[:au_roc] if args.key?(:au_roc)
1201
+ @base_au_prc = args[:base_au_prc] if args.key?(:base_au_prc)
1202
+ @confidence_metrics_entries = args[:confidence_metrics_entries] if args.key?(:confidence_metrics_entries)
1203
+ @confusion_matrix = args[:confusion_matrix] if args.key?(:confusion_matrix)
1204
+ @evaluated_examples_count = args[:evaluated_examples_count] if args.key?(:evaluated_examples_count)
1205
+ @log_loss = args[:log_loss] if args.key?(:log_loss)
1206
+ end
1207
+ end
1208
+
1209
+ # Map from color to display name. Will only be used by Image Segmentation for
1210
+ # uCAIP.
1211
+ class XpsColorMap
1212
+ include Google::Apis::Core::Hashable
1213
+
1214
+ # Should be used during training.
1215
+ # Corresponds to the JSON property `annotationSpecIdToken`
1216
+ # @return [String]
1217
+ attr_accessor :annotation_spec_id_token
1218
+
1219
+ # Represents a color in the RGBA color space. This representation is designed
1220
+ # for simplicity of conversion to and from color representations in various
1221
+ # languages over compactness. For example, the fields of this representation can
1222
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
1223
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
1224
+ # method in iOS; and, with just a little work, it can be easily formatted into a
1225
+ # CSS `rgba()` string in JavaScript. This reference page doesn't have
1226
+ # information about the absolute color space that should be used to interpret
1227
+ # the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
1228
+ # applications should assume the sRGB color space. When color equality needs to
1229
+ # be decided, implementations, unless documented otherwise, treat two colors as
1230
+ # equal if all their red, green, blue, and alpha values each differ by at most `
1231
+ # 1e-5`. Example (Java): import com.google.type.Color; // ... public static java.
1232
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
1233
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
1234
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
1235
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
1236
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
1237
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
1238
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
1239
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
1240
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
1241
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
1242
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
1243
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
1244
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
1245
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
1246
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
1247
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
1248
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
1249
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
1250
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
1251
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
1252
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
1253
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
1254
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
1255
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
1256
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
1257
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
1258
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
1259
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
1260
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
1261
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
1262
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
1263
+ # / ...
1264
+ # Corresponds to the JSON property `color`
1265
+ # @return [Google::Apis::LanguageV2::Color]
1266
+ attr_accessor :color
1267
+
1268
+ # Should be used during preprocessing.
1269
+ # Corresponds to the JSON property `displayName`
1270
+ # @return [String]
1271
+ attr_accessor :display_name
1272
+
1273
+ # RGB color and each channel is represented by an integer.
1274
+ # Corresponds to the JSON property `intColor`
1275
+ # @return [Google::Apis::LanguageV2::XpsColorMapIntColor]
1276
+ attr_accessor :int_color
1277
+
1278
+ def initialize(**args)
1279
+ update!(**args)
1280
+ end
1281
+
1282
+ # Update properties of this object
1283
+ def update!(**args)
1284
+ @annotation_spec_id_token = args[:annotation_spec_id_token] if args.key?(:annotation_spec_id_token)
1285
+ @color = args[:color] if args.key?(:color)
1286
+ @display_name = args[:display_name] if args.key?(:display_name)
1287
+ @int_color = args[:int_color] if args.key?(:int_color)
1288
+ end
1289
+ end
1290
+
1291
+ # RGB color and each channel is represented by an integer.
1292
+ class XpsColorMapIntColor
1293
+ include Google::Apis::Core::Hashable
1294
+
1295
+ # The value should be in range of [0, 255].
1296
+ # Corresponds to the JSON property `blue`
1297
+ # @return [Fixnum]
1298
+ attr_accessor :blue
1299
+
1300
+ # The value should be in range of [0, 255].
1301
+ # Corresponds to the JSON property `green`
1302
+ # @return [Fixnum]
1303
+ attr_accessor :green
1304
+
1305
+ # The value should be in range of [0, 255].
1306
+ # Corresponds to the JSON property `red`
1307
+ # @return [Fixnum]
1308
+ attr_accessor :red
1309
+
1310
+ def initialize(**args)
1311
+ update!(**args)
1312
+ end
1313
+
1314
+ # Update properties of this object
1315
+ def update!(**args)
1316
+ @blue = args[:blue] if args.key?(:blue)
1317
+ @green = args[:green] if args.key?(:green)
1318
+ @red = args[:red] if args.key?(:red)
1319
+ end
1320
+ end
1321
+
1322
+ #
1323
+ class XpsColumnSpec
1324
+ include Google::Apis::Core::Hashable
1325
+
1326
+ # The unique id of the column. When Preprocess, the Tables BE will popuate the
1327
+ # order id of the column, which reflects the order of the column inside the
1328
+ # table, i.e. 0 means the first column in the table, N-1 means the last column.
1329
+ # AutoML BE will persist this order id in Spanner and set the order id here when
1330
+ # calling RefreshTablesStats and Train. Note: it's different than the
1331
+ # column_spec_id that is generated in AutoML BE.
1332
+ # Corresponds to the JSON property `columnId`
1333
+ # @return [Fixnum]
1334
+ attr_accessor :column_id
1335
+
1336
+ # The data statistics of a series of values that share the same DataType.
1337
+ # Corresponds to the JSON property `dataStats`
1338
+ # @return [Google::Apis::LanguageV2::XpsDataStats]
1339
+ attr_accessor :data_stats
1340
+
1341
+ # Indicated the type of data that can be stored in a structured data entity (e.g.
1342
+ # a table).
1343
+ # Corresponds to the JSON property `dataType`
1344
+ # @return [Google::Apis::LanguageV2::XpsDataType]
1345
+ attr_accessor :data_type
1346
+
1347
+ # The display name of the column. It's outputed in Preprocess and a required
1348
+ # input for RefreshTablesStats and Train.
1349
+ # Corresponds to the JSON property `displayName`
1350
+ # @return [String]
1351
+ attr_accessor :display_name
1352
+
1353
+ # =========================================================================== #
1354
+ # The fields below are used exclusively for Forecasting.
1355
+ # Corresponds to the JSON property `forecastingMetadata`
1356
+ # @return [Google::Apis::LanguageV2::XpsColumnSpecForecastingMetadata]
1357
+ attr_accessor :forecasting_metadata
1358
+
1359
+ # It's outputed in RefreshTablesStats, and a required input in Train.
1360
+ # Corresponds to the JSON property `topCorrelatedColumns`
1361
+ # @return [Array<Google::Apis::LanguageV2::XpsColumnSpecCorrelatedColumn>]
1362
+ attr_accessor :top_correlated_columns
1363
+
1364
+ def initialize(**args)
1365
+ update!(**args)
1366
+ end
1367
+
1368
+ # Update properties of this object
1369
+ def update!(**args)
1370
+ @column_id = args[:column_id] if args.key?(:column_id)
1371
+ @data_stats = args[:data_stats] if args.key?(:data_stats)
1372
+ @data_type = args[:data_type] if args.key?(:data_type)
1373
+ @display_name = args[:display_name] if args.key?(:display_name)
1374
+ @forecasting_metadata = args[:forecasting_metadata] if args.key?(:forecasting_metadata)
1375
+ @top_correlated_columns = args[:top_correlated_columns] if args.key?(:top_correlated_columns)
1376
+ end
1377
+ end
1378
+
1379
+ # Identifies a table's column, and its correlation with the column this
1380
+ # ColumnSpec describes.
1381
+ class XpsColumnSpecCorrelatedColumn
1382
+ include Google::Apis::Core::Hashable
1383
+
1384
+ #
1385
+ # Corresponds to the JSON property `columnId`
1386
+ # @return [Fixnum]
1387
+ attr_accessor :column_id
1388
+
1389
+ # A correlation statistics between two series of DataType values. The series may
1390
+ # have differing DataType-s, but within a single series the DataType must be the
1391
+ # same.
1392
+ # Corresponds to the JSON property `correlationStats`
1393
+ # @return [Google::Apis::LanguageV2::XpsCorrelationStats]
1394
+ attr_accessor :correlation_stats
1395
+
1396
+ def initialize(**args)
1397
+ update!(**args)
1398
+ end
1399
+
1400
+ # Update properties of this object
1401
+ def update!(**args)
1402
+ @column_id = args[:column_id] if args.key?(:column_id)
1403
+ @correlation_stats = args[:correlation_stats] if args.key?(:correlation_stats)
1404
+ end
1405
+ end
1406
+
1407
+ # =========================================================================== #
1408
+ # The fields below are used exclusively for Forecasting.
1409
+ class XpsColumnSpecForecastingMetadata
1410
+ include Google::Apis::Core::Hashable
1411
+
1412
+ # The type of the column for FORECASTING model training purposes.
1413
+ # Corresponds to the JSON property `columnType`
1414
+ # @return [String]
1415
+ attr_accessor :column_type
1416
+
1417
+ def initialize(**args)
1418
+ update!(**args)
1419
+ end
1420
+
1421
+ # Update properties of this object
1422
+ def update!(**args)
1423
+ @column_type = args[:column_type] if args.key?(:column_type)
1424
+ end
1425
+ end
1426
+
1427
+ # Common statistics for a column with a specified data type.
1428
+ class XpsCommonStats
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ #
1432
+ # Corresponds to the JSON property `distinctValueCount`
1433
+ # @return [Fixnum]
1434
+ attr_accessor :distinct_value_count
1435
+
1436
+ #
1437
+ # Corresponds to the JSON property `nullValueCount`
1438
+ # @return [Fixnum]
1439
+ attr_accessor :null_value_count
1440
+
1441
+ #
1442
+ # Corresponds to the JSON property `validValueCount`
1443
+ # @return [Fixnum]
1444
+ attr_accessor :valid_value_count
1445
+
1446
+ def initialize(**args)
1447
+ update!(**args)
1448
+ end
1449
+
1450
+ # Update properties of this object
1451
+ def update!(**args)
1452
+ @distinct_value_count = args[:distinct_value_count] if args.key?(:distinct_value_count)
1453
+ @null_value_count = args[:null_value_count] if args.key?(:null_value_count)
1454
+ @valid_value_count = args[:valid_value_count] if args.key?(:valid_value_count)
1455
+ end
1456
+ end
1457
+
1458
+ # ConfidenceMetricsEntry includes generic precision, recall, f1 score etc. Next
1459
+ # tag: 16.
1460
+ class XpsConfidenceMetricsEntry
1461
+ include Google::Apis::Core::Hashable
1462
+
1463
+ # Metrics are computed with an assumption that the model never return
1464
+ # predictions with score lower than this value.
1465
+ # Corresponds to the JSON property `confidenceThreshold`
1466
+ # @return [Float]
1467
+ attr_accessor :confidence_threshold
1468
+
1469
+ # The harmonic mean of recall and precision.
1470
+ # Corresponds to the JSON property `f1Score`
1471
+ # @return [Float]
1472
+ attr_accessor :f1_score
1473
+
1474
+ # The harmonic mean of recall_at1 and precision_at1.
1475
+ # Corresponds to the JSON property `f1ScoreAt1`
1476
+ # @return [Float]
1477
+ attr_accessor :f1_score_at1
1478
+
1479
+ # The number of ground truth labels that are not matched by a model created
1480
+ # label.
1481
+ # Corresponds to the JSON property `falseNegativeCount`
1482
+ # @return [Fixnum]
1483
+ attr_accessor :false_negative_count
1484
+
1485
+ # The number of model created labels that do not match a ground truth label.
1486
+ # Corresponds to the JSON property `falsePositiveCount`
1487
+ # @return [Fixnum]
1488
+ attr_accessor :false_positive_count
1489
+
1490
+ # False Positive Rate for the given confidence threshold.
1491
+ # Corresponds to the JSON property `falsePositiveRate`
1492
+ # @return [Float]
1493
+ attr_accessor :false_positive_rate
1494
+
1495
+ # The False Positive Rate when only considering the label that has the highest
1496
+ # prediction score and not below the confidence threshold for each example.
1497
+ # Corresponds to the JSON property `falsePositiveRateAt1`
1498
+ # @return [Float]
1499
+ attr_accessor :false_positive_rate_at1
1500
+
1501
+ # Metrics are computed with an assumption that the model always returns at most
1502
+ # this many predictions (ordered by their score, descendingly), but they all
1503
+ # still need to meet the confidence_threshold.
1504
+ # Corresponds to the JSON property `positionThreshold`
1505
+ # @return [Fixnum]
1506
+ attr_accessor :position_threshold
1507
+
1508
+ # Precision for the given confidence threshold.
1509
+ # Corresponds to the JSON property `precision`
1510
+ # @return [Float]
1511
+ attr_accessor :precision
1512
+
1513
+ # The precision when only considering the label that has the highest prediction
1514
+ # score and not below the confidence threshold for each example.
1515
+ # Corresponds to the JSON property `precisionAt1`
1516
+ # @return [Float]
1517
+ attr_accessor :precision_at1
1518
+
1519
+ # Recall (true positive rate) for the given confidence threshold.
1520
+ # Corresponds to the JSON property `recall`
1521
+ # @return [Float]
1522
+ attr_accessor :recall
1523
+
1524
+ # The recall (true positive rate) when only considering the label that has the
1525
+ # highest prediction score and not below the confidence threshold for each
1526
+ # example.
1527
+ # Corresponds to the JSON property `recallAt1`
1528
+ # @return [Float]
1529
+ attr_accessor :recall_at1
1530
+
1531
+ # The number of labels that were not created by the model, but if they would,
1532
+ # they would not match a ground truth label.
1533
+ # Corresponds to the JSON property `trueNegativeCount`
1534
+ # @return [Fixnum]
1535
+ attr_accessor :true_negative_count
1536
+
1537
+ # The number of model created labels that match a ground truth label.
1538
+ # Corresponds to the JSON property `truePositiveCount`
1539
+ # @return [Fixnum]
1540
+ attr_accessor :true_positive_count
1541
+
1542
+ def initialize(**args)
1543
+ update!(**args)
1544
+ end
1545
+
1546
+ # Update properties of this object
1547
+ def update!(**args)
1548
+ @confidence_threshold = args[:confidence_threshold] if args.key?(:confidence_threshold)
1549
+ @f1_score = args[:f1_score] if args.key?(:f1_score)
1550
+ @f1_score_at1 = args[:f1_score_at1] if args.key?(:f1_score_at1)
1551
+ @false_negative_count = args[:false_negative_count] if args.key?(:false_negative_count)
1552
+ @false_positive_count = args[:false_positive_count] if args.key?(:false_positive_count)
1553
+ @false_positive_rate = args[:false_positive_rate] if args.key?(:false_positive_rate)
1554
+ @false_positive_rate_at1 = args[:false_positive_rate_at1] if args.key?(:false_positive_rate_at1)
1555
+ @position_threshold = args[:position_threshold] if args.key?(:position_threshold)
1556
+ @precision = args[:precision] if args.key?(:precision)
1557
+ @precision_at1 = args[:precision_at1] if args.key?(:precision_at1)
1558
+ @recall = args[:recall] if args.key?(:recall)
1559
+ @recall_at1 = args[:recall_at1] if args.key?(:recall_at1)
1560
+ @true_negative_count = args[:true_negative_count] if args.key?(:true_negative_count)
1561
+ @true_positive_count = args[:true_positive_count] if args.key?(:true_positive_count)
1562
+ end
1563
+ end
1564
+
1565
+ # Confusion matrix of the model running the classification.
1566
+ class XpsConfusionMatrix
1567
+ include Google::Apis::Core::Hashable
1568
+
1569
+ # For the following three repeated fields, only one is intended to be set.
1570
+ # annotation_spec_id_token is preferable to be set. ID tokens of the annotation
1571
+ # specs used in the confusion matrix.
1572
+ # Corresponds to the JSON property `annotationSpecIdToken`
1573
+ # @return [Array<String>]
1574
+ attr_accessor :annotation_spec_id_token
1575
+
1576
+ # Category (mainly for segmentation). Set only for image segmentation models.
1577
+ # Note: uCAIP Image Segmentation should use annotation_spec_id_token.
1578
+ # Corresponds to the JSON property `category`
1579
+ # @return [Array<Fixnum>]
1580
+ attr_accessor :category
1581
+
1582
+ # Rows in the confusion matrix. The number of rows is equal to the size of `
1583
+ # annotation_spec_id_token`. `row[i].value[j]` is the number of examples that
1584
+ # have ground truth of the `annotation_spec_id_token[i]` and are predicted as `
1585
+ # annotation_spec_id_token[j]` by the model being evaluated.
1586
+ # Corresponds to the JSON property `row`
1587
+ # @return [Array<Google::Apis::LanguageV2::XpsConfusionMatrixRow>]
1588
+ attr_accessor :row
1589
+
1590
+ # Sentiment labels used in the confusion matrix. Set only for text sentiment
1591
+ # models. For AutoML Text Revamp, use `annotation_spec_id_token` instead and
1592
+ # leave this field empty.
1593
+ # Corresponds to the JSON property `sentimentLabel`
1594
+ # @return [Array<Fixnum>]
1595
+ attr_accessor :sentiment_label
1596
+
1597
+ def initialize(**args)
1598
+ update!(**args)
1599
+ end
1600
+
1601
+ # Update properties of this object
1602
+ def update!(**args)
1603
+ @annotation_spec_id_token = args[:annotation_spec_id_token] if args.key?(:annotation_spec_id_token)
1604
+ @category = args[:category] if args.key?(:category)
1605
+ @row = args[:row] if args.key?(:row)
1606
+ @sentiment_label = args[:sentiment_label] if args.key?(:sentiment_label)
1607
+ end
1608
+ end
1609
+
1610
+ # A row in the confusion matrix.
1611
+ class XpsConfusionMatrixRow
1612
+ include Google::Apis::Core::Hashable
1613
+
1614
+ # Same as above except intended to represent other counts (for e.g. for
1615
+ # segmentation this is pixel count). NOTE(params): Only example_count or count
1616
+ # is set (oneoff does not support repeated fields unless they are embedded
1617
+ # inside another message).
1618
+ # Corresponds to the JSON property `count`
1619
+ # @return [Array<Fixnum>]
1620
+ attr_accessor :count
1621
+
1622
+ # Value of the specific cell in the confusion matrix. The number of values each
1623
+ # row has (i.e. the length of the row) is equal to the length of the
1624
+ # annotation_spec_id_token field.
1625
+ # Corresponds to the JSON property `exampleCount`
1626
+ # @return [Array<Fixnum>]
1627
+ attr_accessor :example_count
1628
+
1629
+ def initialize(**args)
1630
+ update!(**args)
1631
+ end
1632
+
1633
+ # Update properties of this object
1634
+ def update!(**args)
1635
+ @count = args[:count] if args.key?(:count)
1636
+ @example_count = args[:example_count] if args.key?(:example_count)
1637
+ end
1638
+ end
1639
+
1640
+ # A model format used for iOS mobile devices.
1641
+ class XpsCoreMlFormat
1642
+ include Google::Apis::Core::Hashable
1643
+
1644
+ def initialize(**args)
1645
+ update!(**args)
1646
+ end
1647
+
1648
+ # Update properties of this object
1649
+ def update!(**args)
1650
+ end
1651
+ end
1652
+
1653
+ # A correlation statistics between two series of DataType values. The series may
1654
+ # have differing DataType-s, but within a single series the DataType must be the
1655
+ # same.
1656
+ class XpsCorrelationStats
1657
+ include Google::Apis::Core::Hashable
1658
+
1659
+ # The correlation value using the Cramer's V measure.
1660
+ # Corresponds to the JSON property `cramersV`
1661
+ # @return [Float]
1662
+ attr_accessor :cramers_v
1663
+
1664
+ def initialize(**args)
1665
+ update!(**args)
1666
+ end
1667
+
1668
+ # Update properties of this object
1669
+ def update!(**args)
1670
+ @cramers_v = args[:cramers_v] if args.key?(:cramers_v)
1671
+ end
1672
+ end
1673
+
1674
+ # Different types of errors and the stats associatesd with each error.
1675
+ class XpsDataErrors
1676
+ include Google::Apis::Core::Hashable
1677
+
1678
+ # Number of records having errors associated with the enum.
1679
+ # Corresponds to the JSON property `count`
1680
+ # @return [Fixnum]
1681
+ attr_accessor :count
1682
+
1683
+ # Type of the error.
1684
+ # Corresponds to the JSON property `errorType`
1685
+ # @return [String]
1686
+ attr_accessor :error_type
1687
+
1688
+ def initialize(**args)
1689
+ update!(**args)
1690
+ end
1691
+
1692
+ # Update properties of this object
1693
+ def update!(**args)
1694
+ @count = args[:count] if args.key?(:count)
1695
+ @error_type = args[:error_type] if args.key?(:error_type)
1696
+ end
1697
+ end
1698
+
1699
+ # The data statistics of a series of values that share the same DataType.
1700
+ class XpsDataStats
1701
+ include Google::Apis::Core::Hashable
1702
+
1703
+ # The data statistics of a series of ARRAY values.
1704
+ # Corresponds to the JSON property `arrayStats`
1705
+ # @return [Google::Apis::LanguageV2::XpsArrayStats]
1706
+ attr_accessor :array_stats
1707
+
1708
+ # The data statistics of a series of CATEGORY values.
1709
+ # Corresponds to the JSON property `categoryStats`
1710
+ # @return [Google::Apis::LanguageV2::XpsCategoryStats]
1711
+ attr_accessor :category_stats
1712
+
1713
+ # The number of distinct values.
1714
+ # Corresponds to the JSON property `distinctValueCount`
1715
+ # @return [Fixnum]
1716
+ attr_accessor :distinct_value_count
1717
+
1718
+ # The data statistics of a series of FLOAT64 values.
1719
+ # Corresponds to the JSON property `float64Stats`
1720
+ # @return [Google::Apis::LanguageV2::XpsFloat64Stats]
1721
+ attr_accessor :float64_stats
1722
+
1723
+ # The number of values that are null.
1724
+ # Corresponds to the JSON property `nullValueCount`
1725
+ # @return [Fixnum]
1726
+ attr_accessor :null_value_count
1727
+
1728
+ # The data statistics of a series of STRING values.
1729
+ # Corresponds to the JSON property `stringStats`
1730
+ # @return [Google::Apis::LanguageV2::XpsStringStats]
1731
+ attr_accessor :string_stats
1732
+
1733
+ # The data statistics of a series of STRUCT values.
1734
+ # Corresponds to the JSON property `structStats`
1735
+ # @return [Google::Apis::LanguageV2::XpsStructStats]
1736
+ attr_accessor :struct_stats
1737
+
1738
+ # The data statistics of a series of TIMESTAMP values.
1739
+ # Corresponds to the JSON property `timestampStats`
1740
+ # @return [Google::Apis::LanguageV2::XpsTimestampStats]
1741
+ attr_accessor :timestamp_stats
1742
+
1743
+ # The number of values that are valid.
1744
+ # Corresponds to the JSON property `validValueCount`
1745
+ # @return [Fixnum]
1746
+ attr_accessor :valid_value_count
1747
+
1748
+ def initialize(**args)
1749
+ update!(**args)
1750
+ end
1751
+
1752
+ # Update properties of this object
1753
+ def update!(**args)
1754
+ @array_stats = args[:array_stats] if args.key?(:array_stats)
1755
+ @category_stats = args[:category_stats] if args.key?(:category_stats)
1756
+ @distinct_value_count = args[:distinct_value_count] if args.key?(:distinct_value_count)
1757
+ @float64_stats = args[:float64_stats] if args.key?(:float64_stats)
1758
+ @null_value_count = args[:null_value_count] if args.key?(:null_value_count)
1759
+ @string_stats = args[:string_stats] if args.key?(:string_stats)
1760
+ @struct_stats = args[:struct_stats] if args.key?(:struct_stats)
1761
+ @timestamp_stats = args[:timestamp_stats] if args.key?(:timestamp_stats)
1762
+ @valid_value_count = args[:valid_value_count] if args.key?(:valid_value_count)
1763
+ end
1764
+ end
1765
+
1766
+ # Indicated the type of data that can be stored in a structured data entity (e.g.
1767
+ # a table).
1768
+ class XpsDataType
1769
+ include Google::Apis::Core::Hashable
1770
+
1771
+ # The highly compatible data types to this data type.
1772
+ # Corresponds to the JSON property `compatibleDataTypes`
1773
+ # @return [Array<Google::Apis::LanguageV2::XpsDataType>]
1774
+ attr_accessor :compatible_data_types
1775
+
1776
+ # Indicated the type of data that can be stored in a structured data entity (e.g.
1777
+ # a table).
1778
+ # Corresponds to the JSON property `listElementType`
1779
+ # @return [Google::Apis::LanguageV2::XpsDataType]
1780
+ attr_accessor :list_element_type
1781
+
1782
+ # If true, this DataType can also be `null`.
1783
+ # Corresponds to the JSON property `nullable`
1784
+ # @return [Boolean]
1785
+ attr_accessor :nullable
1786
+ alias_method :nullable?, :nullable
1787
+
1788
+ # `StructType` defines the DataType-s of a STRUCT type.
1789
+ # Corresponds to the JSON property `structType`
1790
+ # @return [Google::Apis::LanguageV2::XpsStructType]
1791
+ attr_accessor :struct_type
1792
+
1793
+ # If type_code == TIMESTAMP then `time_format` provides the format in which that
1794
+ # time field is expressed. The time_format must be written in `strftime` syntax.
1795
+ # If time_format is not set, then the default format as described on the field
1796
+ # is used.
1797
+ # Corresponds to the JSON property `timeFormat`
1798
+ # @return [String]
1799
+ attr_accessor :time_format
1800
+
1801
+ # Required. The TypeCode for this type.
1802
+ # Corresponds to the JSON property `typeCode`
1803
+ # @return [String]
1804
+ attr_accessor :type_code
1805
+
1806
+ def initialize(**args)
1807
+ update!(**args)
1808
+ end
1809
+
1810
+ # Update properties of this object
1811
+ def update!(**args)
1812
+ @compatible_data_types = args[:compatible_data_types] if args.key?(:compatible_data_types)
1813
+ @list_element_type = args[:list_element_type] if args.key?(:list_element_type)
1814
+ @nullable = args[:nullable] if args.key?(:nullable)
1815
+ @struct_type = args[:struct_type] if args.key?(:struct_type)
1816
+ @time_format = args[:time_format] if args.key?(:time_format)
1817
+ @type_code = args[:type_code] if args.key?(:type_code)
1818
+ end
1819
+ end
1820
+
1821
+ # A model format used for Docker containers. Use the params field to customize
1822
+ # the container. The container is verified to work correctly on ubuntu 16.04
1823
+ # operating system.
1824
+ class XpsDockerFormat
1825
+ include Google::Apis::Core::Hashable
1826
+
1827
+ # Optional. Additional cpu information describing the requirements for the to be
1828
+ # exported model files.
1829
+ # Corresponds to the JSON property `cpuArchitecture`
1830
+ # @return [String]
1831
+ attr_accessor :cpu_architecture
1832
+
1833
+ # Optional. Additional gpu information describing the requirements for the to be
1834
+ # exported model files.
1835
+ # Corresponds to the JSON property `gpuArchitecture`
1836
+ # @return [String]
1837
+ attr_accessor :gpu_architecture
1838
+
1839
+ def initialize(**args)
1840
+ update!(**args)
1841
+ end
1842
+
1843
+ # Update properties of this object
1844
+ def update!(**args)
1845
+ @cpu_architecture = args[:cpu_architecture] if args.key?(:cpu_architecture)
1846
+ @gpu_architecture = args[:gpu_architecture] if args.key?(:gpu_architecture)
1847
+ end
1848
+ end
1849
+
1850
+ # A model format used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
1851
+ class XpsEdgeTpuTfLiteFormat
1852
+ include Google::Apis::Core::Hashable
1853
+
1854
+ def initialize(**args)
1855
+ update!(**args)
1856
+ end
1857
+
1858
+ # Update properties of this object
1859
+ def update!(**args)
1860
+ end
1861
+ end
1862
+
1863
+ # Contains xPS-specific model evaluation metrics either for a single annotation
1864
+ # spec (label), or for the model overall. Next tag: 18.
1865
+ class XpsEvaluationMetrics
1866
+ include Google::Apis::Core::Hashable
1867
+
1868
+ # The annotation_spec for which this evaluation metrics instance had been
1869
+ # created. Empty iff this is an overall model evaluation (like Tables evaluation
1870
+ # metrics), i.e. aggregated across all labels. The value comes from the input
1871
+ # annotations in AnnotatedExample. For MVP product or for text sentiment models
1872
+ # where annotation_spec_id_token is not available, set label instead.
1873
+ # Corresponds to the JSON property `annotationSpecIdToken`
1874
+ # @return [String]
1875
+ attr_accessor :annotation_spec_id_token
1876
+
1877
+ # The integer category label for which this evaluation metric instance had been
1878
+ # created. Valid categories are 0 or higher. Overall model evaluation should set
1879
+ # this to negative values (rather than implicit zero). Only used for Image
1880
+ # Segmentation (prefer to set annotation_spec_id_token instead). Note: uCAIP
1881
+ # Image Segmentation should use annotation_spec_id_token.
1882
+ # Corresponds to the JSON property `category`
1883
+ # @return [Fixnum]
1884
+ attr_accessor :category
1885
+
1886
+ # The number of examples used to create this evaluation metrics instance.
1887
+ # Corresponds to the JSON property `evaluatedExampleCount`
1888
+ # @return [Fixnum]
1889
+ attr_accessor :evaluated_example_count
1890
+
1891
+ # Model evaluation metrics for classification problems. It can be used for image
1892
+ # and video classification. Next tag: 9.
1893
+ # Corresponds to the JSON property `imageClassificationEvalMetrics`
1894
+ # @return [Google::Apis::LanguageV2::XpsClassificationEvaluationMetrics]
1895
+ attr_accessor :image_classification_eval_metrics
1896
+
1897
+ # Model evaluation metrics for image object detection problems. Evaluates
1898
+ # prediction quality of labeled bounding boxes.
1899
+ # Corresponds to the JSON property `imageObjectDetectionEvalMetrics`
1900
+ # @return [Google::Apis::LanguageV2::XpsImageObjectDetectionEvaluationMetrics]
1901
+ attr_accessor :image_object_detection_eval_metrics
1902
+
1903
+ # Model evaluation metrics for image segmentation problems. Next tag: 4.
1904
+ # Corresponds to the JSON property `imageSegmentationEvalMetrics`
1905
+ # @return [Google::Apis::LanguageV2::XpsImageSegmentationEvaluationMetrics]
1906
+ attr_accessor :image_segmentation_eval_metrics
1907
+
1908
+ # The label for which this evaluation metrics instance had been created. Empty
1909
+ # iff this is an overall model evaluation (like Tables evaluation metrics), i.e.
1910
+ # aggregated across all labels. The label maps to AnnotationSpec.display_name in
1911
+ # Public API protos. Only used by MVP implementation and text sentiment FULL
1912
+ # implementation.
1913
+ # Corresponds to the JSON property `label`
1914
+ # @return [String]
1915
+ attr_accessor :label
1916
+
1917
+ # Model evaluation metrics for regression problems. It can be used for Tables.
1918
+ # Corresponds to the JSON property `regressionEvalMetrics`
1919
+ # @return [Google::Apis::LanguageV2::XpsRegressionEvaluationMetrics]
1920
+ attr_accessor :regression_eval_metrics
1921
+
1922
+ # Model evaluation metrics for classification problems. It can be used for image
1923
+ # and video classification. Next tag: 9.
1924
+ # Corresponds to the JSON property `tablesClassificationEvalMetrics`
1925
+ # @return [Google::Apis::LanguageV2::XpsClassificationEvaluationMetrics]
1926
+ attr_accessor :tables_classification_eval_metrics
1927
+
1928
+ #
1929
+ # Corresponds to the JSON property `tablesEvalMetrics`
1930
+ # @return [Google::Apis::LanguageV2::XpsTablesEvaluationMetrics]
1931
+ attr_accessor :tables_eval_metrics
1932
+
1933
+ # Model evaluation metrics for classification problems. It can be used for image
1934
+ # and video classification. Next tag: 9.
1935
+ # Corresponds to the JSON property `textClassificationEvalMetrics`
1936
+ # @return [Google::Apis::LanguageV2::XpsClassificationEvaluationMetrics]
1937
+ attr_accessor :text_classification_eval_metrics
1938
+
1939
+ #
1940
+ # Corresponds to the JSON property `textExtractionEvalMetrics`
1941
+ # @return [Google::Apis::LanguageV2::XpsTextExtractionEvaluationMetrics]
1942
+ attr_accessor :text_extraction_eval_metrics
1943
+
1944
+ # Model evaluation metrics for text sentiment problems.
1945
+ # Corresponds to the JSON property `textSentimentEvalMetrics`
1946
+ # @return [Google::Apis::LanguageV2::XpsTextSentimentEvaluationMetrics]
1947
+ attr_accessor :text_sentiment_eval_metrics
1948
+
1949
+ # Evaluation metrics for the dataset.
1950
+ # Corresponds to the JSON property `translationEvalMetrics`
1951
+ # @return [Google::Apis::LanguageV2::XpsTranslationEvaluationMetrics]
1952
+ attr_accessor :translation_eval_metrics
1953
+
1954
+ # Model evaluation metrics for video action recognition.
1955
+ # Corresponds to the JSON property `videoActionRecognitionEvalMetrics`
1956
+ # @return [Google::Apis::LanguageV2::XpsVideoActionRecognitionEvaluationMetrics]
1957
+ attr_accessor :video_action_recognition_eval_metrics
1958
+
1959
+ # Model evaluation metrics for classification problems. It can be used for image
1960
+ # and video classification. Next tag: 9.
1961
+ # Corresponds to the JSON property `videoClassificationEvalMetrics`
1962
+ # @return [Google::Apis::LanguageV2::XpsClassificationEvaluationMetrics]
1963
+ attr_accessor :video_classification_eval_metrics
1964
+
1965
+ # Model evaluation metrics for ObjectTracking problems. Next tag: 10.
1966
+ # Corresponds to the JSON property `videoObjectTrackingEvalMetrics`
1967
+ # @return [Google::Apis::LanguageV2::XpsVideoObjectTrackingEvaluationMetrics]
1968
+ attr_accessor :video_object_tracking_eval_metrics
1969
+
1970
+ def initialize(**args)
1971
+ update!(**args)
1972
+ end
1973
+
1974
+ # Update properties of this object
1975
+ def update!(**args)
1976
+ @annotation_spec_id_token = args[:annotation_spec_id_token] if args.key?(:annotation_spec_id_token)
1977
+ @category = args[:category] if args.key?(:category)
1978
+ @evaluated_example_count = args[:evaluated_example_count] if args.key?(:evaluated_example_count)
1979
+ @image_classification_eval_metrics = args[:image_classification_eval_metrics] if args.key?(:image_classification_eval_metrics)
1980
+ @image_object_detection_eval_metrics = args[:image_object_detection_eval_metrics] if args.key?(:image_object_detection_eval_metrics)
1981
+ @image_segmentation_eval_metrics = args[:image_segmentation_eval_metrics] if args.key?(:image_segmentation_eval_metrics)
1982
+ @label = args[:label] if args.key?(:label)
1983
+ @regression_eval_metrics = args[:regression_eval_metrics] if args.key?(:regression_eval_metrics)
1984
+ @tables_classification_eval_metrics = args[:tables_classification_eval_metrics] if args.key?(:tables_classification_eval_metrics)
1985
+ @tables_eval_metrics = args[:tables_eval_metrics] if args.key?(:tables_eval_metrics)
1986
+ @text_classification_eval_metrics = args[:text_classification_eval_metrics] if args.key?(:text_classification_eval_metrics)
1987
+ @text_extraction_eval_metrics = args[:text_extraction_eval_metrics] if args.key?(:text_extraction_eval_metrics)
1988
+ @text_sentiment_eval_metrics = args[:text_sentiment_eval_metrics] if args.key?(:text_sentiment_eval_metrics)
1989
+ @translation_eval_metrics = args[:translation_eval_metrics] if args.key?(:translation_eval_metrics)
1990
+ @video_action_recognition_eval_metrics = args[:video_action_recognition_eval_metrics] if args.key?(:video_action_recognition_eval_metrics)
1991
+ @video_classification_eval_metrics = args[:video_classification_eval_metrics] if args.key?(:video_classification_eval_metrics)
1992
+ @video_object_tracking_eval_metrics = args[:video_object_tracking_eval_metrics] if args.key?(:video_object_tracking_eval_metrics)
1993
+ end
1994
+ end
1995
+
1996
+ # Specifies location of model evaluation metrics.
1997
+ class XpsEvaluationMetricsSet
1998
+ include Google::Apis::Core::Hashable
1999
+
2000
+ # Inline EvaluationMetrics - should be relatively small. For passing large
2001
+ # quantities of exhaustive metrics, use file_spec.
2002
+ # Corresponds to the JSON property `evaluationMetrics`
2003
+ # @return [Array<Google::Apis::LanguageV2::XpsEvaluationMetrics>]
2004
+ attr_accessor :evaluation_metrics
2005
+
2006
+ # Spec of input and output files, on external file systems (CNS, GCS, etc).
2007
+ # Corresponds to the JSON property `fileSpec`
2008
+ # @return [Google::Apis::LanguageV2::XpsFileSpec]
2009
+ attr_accessor :file_spec
2010
+
2011
+ # Number of the evaluation metrics (usually one per label plus overall).
2012
+ # Corresponds to the JSON property `numEvaluationMetrics`
2013
+ # @return [Fixnum]
2014
+ attr_accessor :num_evaluation_metrics
2015
+
2016
+ def initialize(**args)
2017
+ update!(**args)
2018
+ end
2019
+
2020
+ # Update properties of this object
2021
+ def update!(**args)
2022
+ @evaluation_metrics = args[:evaluation_metrics] if args.key?(:evaluation_metrics)
2023
+ @file_spec = args[:file_spec] if args.key?(:file_spec)
2024
+ @num_evaluation_metrics = args[:num_evaluation_metrics] if args.key?(:num_evaluation_metrics)
2025
+ end
2026
+ end
2027
+
2028
+ # Set of examples or input sources.
2029
+ class XpsExampleSet
2030
+ include Google::Apis::Core::Hashable
2031
+
2032
+ # Spec of input and output files, on external file systems (CNS, GCS, etc).
2033
+ # Corresponds to the JSON property `fileSpec`
2034
+ # @return [Google::Apis::LanguageV2::XpsFileSpec]
2035
+ attr_accessor :file_spec
2036
+
2037
+ # Fingerprint of the example set.
2038
+ # Corresponds to the JSON property `fingerprint`
2039
+ # @return [Fixnum]
2040
+ attr_accessor :fingerprint
2041
+
2042
+ # Number of examples.
2043
+ # Corresponds to the JSON property `numExamples`
2044
+ # @return [Fixnum]
2045
+ attr_accessor :num_examples
2046
+
2047
+ # Number of input sources.
2048
+ # Corresponds to the JSON property `numInputSources`
2049
+ # @return [Fixnum]
2050
+ attr_accessor :num_input_sources
2051
+
2052
+ def initialize(**args)
2053
+ update!(**args)
2054
+ end
2055
+
2056
+ # Update properties of this object
2057
+ def update!(**args)
2058
+ @file_spec = args[:file_spec] if args.key?(:file_spec)
2059
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
2060
+ @num_examples = args[:num_examples] if args.key?(:num_examples)
2061
+ @num_input_sources = args[:num_input_sources] if args.key?(:num_input_sources)
2062
+ end
2063
+ end
2064
+
2065
+ #
2066
+ class XpsExportModelOutputConfig
2067
+ include Google::Apis::Core::Hashable
2068
+
2069
+ # A model format used for iOS mobile devices.
2070
+ # Corresponds to the JSON property `coreMlFormat`
2071
+ # @return [Google::Apis::LanguageV2::XpsCoreMlFormat]
2072
+ attr_accessor :core_ml_format
2073
+
2074
+ # A model format used for Docker containers. Use the params field to customize
2075
+ # the container. The container is verified to work correctly on ubuntu 16.04
2076
+ # operating system.
2077
+ # Corresponds to the JSON property `dockerFormat`
2078
+ # @return [Google::Apis::LanguageV2::XpsDockerFormat]
2079
+ attr_accessor :docker_format
2080
+
2081
+ # A model format used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
2082
+ # Corresponds to the JSON property `edgeTpuTfLiteFormat`
2083
+ # @return [Google::Apis::LanguageV2::XpsEdgeTpuTfLiteFormat]
2084
+ attr_accessor :edge_tpu_tf_lite_format
2085
+
2086
+ # For any model and format: If true, will additionally export
2087
+ # FirebaseExportedModelInfo in a firebase.txt file.
2088
+ # Corresponds to the JSON property `exportFirebaseAuxiliaryInfo`
2089
+ # @return [Boolean]
2090
+ attr_accessor :export_firebase_auxiliary_info
2091
+ alias_method :export_firebase_auxiliary_info?, :export_firebase_auxiliary_info
2092
+
2093
+ # The Google Contained Registry (GCR) path the exported files to be pushed to.
2094
+ # This location is set if the exported format is DOCKDER.
2095
+ # Corresponds to the JSON property `outputGcrUri`
2096
+ # @return [String]
2097
+ attr_accessor :output_gcr_uri
2098
+
2099
+ # The Google Cloud Storage (GCS) directory where XPS will output the exported
2100
+ # models and related files. Format: gs://bucket/directory
2101
+ # Corresponds to the JSON property `outputGcsUri`
2102
+ # @return [String]
2103
+ attr_accessor :output_gcs_uri
2104
+
2105
+ # A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the
2106
+ # browser and in Node.js using JavaScript.
2107
+ # Corresponds to the JSON property `tfJsFormat`
2108
+ # @return [Google::Apis::LanguageV2::XpsTfJsFormat]
2109
+ attr_accessor :tf_js_format
2110
+
2111
+ # LINT.IfChange A model format used for mobile and IoT devices. See https://www.
2112
+ # tensorflow.org/lite.
2113
+ # Corresponds to the JSON property `tfLiteFormat`
2114
+ # @return [Google::Apis::LanguageV2::XpsTfLiteFormat]
2115
+ attr_accessor :tf_lite_format
2116
+
2117
+ # A tensorflow model format in SavedModel format.
2118
+ # Corresponds to the JSON property `tfSavedModelFormat`
2119
+ # @return [Google::Apis::LanguageV2::XpsTfSavedModelFormat]
2120
+ attr_accessor :tf_saved_model_format
2121
+
2122
+ def initialize(**args)
2123
+ update!(**args)
2124
+ end
2125
+
2126
+ # Update properties of this object
2127
+ def update!(**args)
2128
+ @core_ml_format = args[:core_ml_format] if args.key?(:core_ml_format)
2129
+ @docker_format = args[:docker_format] if args.key?(:docker_format)
2130
+ @edge_tpu_tf_lite_format = args[:edge_tpu_tf_lite_format] if args.key?(:edge_tpu_tf_lite_format)
2131
+ @export_firebase_auxiliary_info = args[:export_firebase_auxiliary_info] if args.key?(:export_firebase_auxiliary_info)
2132
+ @output_gcr_uri = args[:output_gcr_uri] if args.key?(:output_gcr_uri)
2133
+ @output_gcs_uri = args[:output_gcs_uri] if args.key?(:output_gcs_uri)
2134
+ @tf_js_format = args[:tf_js_format] if args.key?(:tf_js_format)
2135
+ @tf_lite_format = args[:tf_lite_format] if args.key?(:tf_lite_format)
2136
+ @tf_saved_model_format = args[:tf_saved_model_format] if args.key?(:tf_saved_model_format)
2137
+ end
2138
+ end
2139
+
2140
+ # Spec of input and output files, on external file systems (CNS, GCS, etc).
2141
+ class XpsFileSpec
2142
+ include Google::Apis::Core::Hashable
2143
+
2144
+ # Deprecated. Use file_spec.
2145
+ # Corresponds to the JSON property `directoryPath`
2146
+ # @return [String]
2147
+ attr_accessor :directory_path
2148
+
2149
+ #
2150
+ # Corresponds to the JSON property `fileFormat`
2151
+ # @return [String]
2152
+ attr_accessor :file_format
2153
+
2154
+ # Single file path, or file pattern of format "/path/to/file@shard_count". E.g. /
2155
+ # cns/cell-d/somewhere/file@2 is expanded to two files: /cns/cell-d/somewhere/
2156
+ # file-00000-of-00002 and /cns/cell-d/somewhere/file-00001-of-00002.
2157
+ # Corresponds to the JSON property `fileSpec`
2158
+ # @return [String]
2159
+ attr_accessor :file_spec
2160
+
2161
+ # Deprecated. Use file_spec.
2162
+ # Corresponds to the JSON property `singleFilePath`
2163
+ # @return [String]
2164
+ attr_accessor :single_file_path
2165
+
2166
+ def initialize(**args)
2167
+ update!(**args)
2168
+ end
2169
+
2170
+ # Update properties of this object
2171
+ def update!(**args)
2172
+ @directory_path = args[:directory_path] if args.key?(:directory_path)
2173
+ @file_format = args[:file_format] if args.key?(:file_format)
2174
+ @file_spec = args[:file_spec] if args.key?(:file_spec)
2175
+ @single_file_path = args[:single_file_path] if args.key?(:single_file_path)
2176
+ end
2177
+ end
2178
+
2179
+ # The data statistics of a series of FLOAT64 values.
2180
+ class XpsFloat64Stats
2181
+ include Google::Apis::Core::Hashable
2182
+
2183
+ # Common statistics for a column with a specified data type.
2184
+ # Corresponds to the JSON property `commonStats`
2185
+ # @return [Google::Apis::LanguageV2::XpsCommonStats]
2186
+ attr_accessor :common_stats
2187
+
2188
+ # Histogram buckets of the data series. Sorted by the min value of the bucket,
2189
+ # ascendingly, and the number of the buckets is dynamically generated. The
2190
+ # buckets are non-overlapping and completely cover whole FLOAT64 range with min
2191
+ # of first bucket being `"-Infinity"`, and max of the last one being `"Infinity"`
2192
+ # .
2193
+ # Corresponds to the JSON property `histogramBuckets`
2194
+ # @return [Array<Google::Apis::LanguageV2::XpsFloat64StatsHistogramBucket>]
2195
+ attr_accessor :histogram_buckets
2196
+
2197
+ # The mean of the series.
2198
+ # Corresponds to the JSON property `mean`
2199
+ # @return [Float]
2200
+ attr_accessor :mean
2201
+
2202
+ # Ordered from 0 to k k-quantile values of the data series of n values. The
2203
+ # value at index i is, approximately, the i*n/k-th smallest value in the series;
2204
+ # for i = 0 and i = k these are, respectively, the min and max values.
2205
+ # Corresponds to the JSON property `quantiles`
2206
+ # @return [Array<Float>]
2207
+ attr_accessor :quantiles
2208
+
2209
+ # The standard deviation of the series.
2210
+ # Corresponds to the JSON property `standardDeviation`
2211
+ # @return [Float]
2212
+ attr_accessor :standard_deviation
2213
+
2214
+ def initialize(**args)
2215
+ update!(**args)
2216
+ end
2217
+
2218
+ # Update properties of this object
2219
+ def update!(**args)
2220
+ @common_stats = args[:common_stats] if args.key?(:common_stats)
2221
+ @histogram_buckets = args[:histogram_buckets] if args.key?(:histogram_buckets)
2222
+ @mean = args[:mean] if args.key?(:mean)
2223
+ @quantiles = args[:quantiles] if args.key?(:quantiles)
2224
+ @standard_deviation = args[:standard_deviation] if args.key?(:standard_deviation)
2225
+ end
2226
+ end
2227
+
2228
+ # A bucket of a histogram.
2229
+ class XpsFloat64StatsHistogramBucket
2230
+ include Google::Apis::Core::Hashable
2231
+
2232
+ # The number of data values that are in the bucket, i.e. are between min and max
2233
+ # values.
2234
+ # Corresponds to the JSON property `count`
2235
+ # @return [Fixnum]
2236
+ attr_accessor :count
2237
+
2238
+ # The maximum value of the bucket, exclusive unless max = `"Infinity"`, in which
2239
+ # case it's inclusive.
2240
+ # Corresponds to the JSON property `max`
2241
+ # @return [Float]
2242
+ attr_accessor :max
2243
+
2244
+ # The minimum value of the bucket, inclusive.
2245
+ # Corresponds to the JSON property `min`
2246
+ # @return [Float]
2247
+ attr_accessor :min
2248
+
2249
+ def initialize(**args)
2250
+ update!(**args)
2251
+ end
2252
+
2253
+ # Update properties of this object
2254
+ def update!(**args)
2255
+ @count = args[:count] if args.key?(:count)
2256
+ @max = args[:max] if args.key?(:max)
2257
+ @min = args[:min] if args.key?(:min)
2258
+ end
2259
+ end
2260
+
2261
+ #
2262
+ class XpsImageClassificationTrainResponse
2263
+ include Google::Apis::Core::Hashable
2264
+
2265
+ # Total number of classes.
2266
+ # Corresponds to the JSON property `classCount`
2267
+ # @return [Fixnum]
2268
+ attr_accessor :class_count
2269
+
2270
+ # Information of downloadable models that are pre-generated as part of training
2271
+ # flow and will be persisted in AutoMl backend. Upon receiving ExportModel
2272
+ # request from user, AutoMl backend can serve the pre-generated models to user
2273
+ # if exists (by copying the files from internal path to user provided location),
2274
+ # otherwise, AutoMl backend will call xPS ExportModel API to generate the model
2275
+ # on the fly with the requesting format.
2276
+ # Corresponds to the JSON property `exportModelSpec`
2277
+ # @return [Google::Apis::LanguageV2::XpsImageExportModelSpec]
2278
+ attr_accessor :export_model_spec
2279
+
2280
+ # Stores the locations and related metadata of the model artifacts. Populated
2281
+ # for uCAIP requests only.
2282
+ # Corresponds to the JSON property `modelArtifactSpec`
2283
+ # @return [Google::Apis::LanguageV2::XpsImageModelArtifactSpec]
2284
+ attr_accessor :model_artifact_spec
2285
+
2286
+ # Serving specification for image models.
2287
+ # Corresponds to the JSON property `modelServingSpec`
2288
+ # @return [Google::Apis::LanguageV2::XpsImageModelServingSpec]
2289
+ attr_accessor :model_serving_spec
2290
+
2291
+ # Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', 'MODEL_CONVERGED', '
2292
+ # MODEL_EARLY_STOPPED'.
2293
+ # Corresponds to the JSON property `stopReason`
2294
+ # @return [String]
2295
+ attr_accessor :stop_reason
2296
+
2297
+ # The actual cost to create this model. - For edge type model, the cost is
2298
+ # expressed in node hour. - For cloud type model,the cost is expressed in
2299
+ # compute hour. - Populated for models created before GA. To be deprecated after
2300
+ # GA.
2301
+ # Corresponds to the JSON property `trainCostInNodeTime`
2302
+ # @return [String]
2303
+ attr_accessor :train_cost_in_node_time
2304
+
2305
+ # The actual training cost, expressed in node seconds. Populated for models
2306
+ # trained in node time.
2307
+ # Corresponds to the JSON property `trainCostNodeSeconds`
2308
+ # @return [Fixnum]
2309
+ attr_accessor :train_cost_node_seconds
2310
+
2311
+ def initialize(**args)
2312
+ update!(**args)
2313
+ end
2314
+
2315
+ # Update properties of this object
2316
+ def update!(**args)
2317
+ @class_count = args[:class_count] if args.key?(:class_count)
2318
+ @export_model_spec = args[:export_model_spec] if args.key?(:export_model_spec)
2319
+ @model_artifact_spec = args[:model_artifact_spec] if args.key?(:model_artifact_spec)
2320
+ @model_serving_spec = args[:model_serving_spec] if args.key?(:model_serving_spec)
2321
+ @stop_reason = args[:stop_reason] if args.key?(:stop_reason)
2322
+ @train_cost_in_node_time = args[:train_cost_in_node_time] if args.key?(:train_cost_in_node_time)
2323
+ @train_cost_node_seconds = args[:train_cost_node_seconds] if args.key?(:train_cost_node_seconds)
2324
+ end
2325
+ end
2326
+
2327
+ # Information of downloadable models that are pre-generated as part of training
2328
+ # flow and will be persisted in AutoMl backend. Upon receiving ExportModel
2329
+ # request from user, AutoMl backend can serve the pre-generated models to user
2330
+ # if exists (by copying the files from internal path to user provided location),
2331
+ # otherwise, AutoMl backend will call xPS ExportModel API to generate the model
2332
+ # on the fly with the requesting format.
2333
+ class XpsImageExportModelSpec
2334
+ include Google::Apis::Core::Hashable
2335
+
2336
+ # Contains the model format and internal location of the model files to be
2337
+ # exported/downloaded. Use the GCS bucket name which is provided via
2338
+ # TrainRequest.gcs_bucket_name to store the model files.
2339
+ # Corresponds to the JSON property `exportModelOutputConfig`
2340
+ # @return [Array<Google::Apis::LanguageV2::XpsExportModelOutputConfig>]
2341
+ attr_accessor :export_model_output_config
2342
+
2343
+ def initialize(**args)
2344
+ update!(**args)
2345
+ end
2346
+
2347
+ # Update properties of this object
2348
+ def update!(**args)
2349
+ @export_model_output_config = args[:export_model_output_config] if args.key?(:export_model_output_config)
2350
+ end
2351
+ end
2352
+
2353
+ # Stores the locations and related metadata of the model artifacts. Populated
2354
+ # for uCAIP requests only.
2355
+ class XpsImageModelArtifactSpec
2356
+ include Google::Apis::Core::Hashable
2357
+
2358
+ # A single model artifact item.
2359
+ # Corresponds to the JSON property `checkpointArtifact`
2360
+ # @return [Google::Apis::LanguageV2::XpsModelArtifactItem]
2361
+ attr_accessor :checkpoint_artifact
2362
+
2363
+ # The model binary files in different formats for model export.
2364
+ # Corresponds to the JSON property `exportArtifact`
2365
+ # @return [Array<Google::Apis::LanguageV2::XpsModelArtifactItem>]
2366
+ attr_accessor :export_artifact
2367
+
2368
+ # GCS uri of decoded labels file for model export 'dict.txt'.
2369
+ # Corresponds to the JSON property `labelGcsUri`
2370
+ # @return [String]
2371
+ attr_accessor :label_gcs_uri
2372
+
2373
+ # A single model artifact item.
2374
+ # Corresponds to the JSON property `servingArtifact`
2375
+ # @return [Google::Apis::LanguageV2::XpsModelArtifactItem]
2376
+ attr_accessor :serving_artifact
2377
+
2378
+ # GCS uri prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'
2379
+ # Deprecated.
2380
+ # Corresponds to the JSON property `tfJsBinaryGcsPrefix`
2381
+ # @return [String]
2382
+ attr_accessor :tf_js_binary_gcs_prefix
2383
+
2384
+ # GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'.
2385
+ # Corresponds to the JSON property `tfLiteMetadataGcsUri`
2386
+ # @return [String]
2387
+ attr_accessor :tf_lite_metadata_gcs_uri
2388
+
2389
+ def initialize(**args)
2390
+ update!(**args)
2391
+ end
2392
+
2393
+ # Update properties of this object
2394
+ def update!(**args)
2395
+ @checkpoint_artifact = args[:checkpoint_artifact] if args.key?(:checkpoint_artifact)
2396
+ @export_artifact = args[:export_artifact] if args.key?(:export_artifact)
2397
+ @label_gcs_uri = args[:label_gcs_uri] if args.key?(:label_gcs_uri)
2398
+ @serving_artifact = args[:serving_artifact] if args.key?(:serving_artifact)
2399
+ @tf_js_binary_gcs_prefix = args[:tf_js_binary_gcs_prefix] if args.key?(:tf_js_binary_gcs_prefix)
2400
+ @tf_lite_metadata_gcs_uri = args[:tf_lite_metadata_gcs_uri] if args.key?(:tf_lite_metadata_gcs_uri)
2401
+ end
2402
+ end
2403
+
2404
+ # Serving specification for image models.
2405
+ class XpsImageModelServingSpec
2406
+ include Google::Apis::Core::Hashable
2407
+
2408
+ # Populate under uCAIP request scope.
2409
+ # Corresponds to the JSON property `modelThroughputEstimation`
2410
+ # @return [Array<Google::Apis::LanguageV2::XpsImageModelServingSpecModelThroughputEstimation>]
2411
+ attr_accessor :model_throughput_estimation
2412
+
2413
+ # An estimated value of how much traffic a node can serve. Populated for AutoMl
2414
+ # request only.
2415
+ # Corresponds to the JSON property `nodeQps`
2416
+ # @return [Float]
2417
+ attr_accessor :node_qps
2418
+
2419
+ # ## The fields below are only populated under uCAIP request scope. https://
2420
+ # cloud.google.com/ml-engine/docs/runtime-version-list
2421
+ # Corresponds to the JSON property `tfRuntimeVersion`
2422
+ # @return [String]
2423
+ attr_accessor :tf_runtime_version
2424
+
2425
+ def initialize(**args)
2426
+ update!(**args)
2427
+ end
2428
+
2429
+ # Update properties of this object
2430
+ def update!(**args)
2431
+ @model_throughput_estimation = args[:model_throughput_estimation] if args.key?(:model_throughput_estimation)
2432
+ @node_qps = args[:node_qps] if args.key?(:node_qps)
2433
+ @tf_runtime_version = args[:tf_runtime_version] if args.key?(:tf_runtime_version)
2434
+ end
2435
+ end
2436
+
2437
+ #
2438
+ class XpsImageModelServingSpecModelThroughputEstimation
2439
+ include Google::Apis::Core::Hashable
2440
+
2441
+ #
2442
+ # Corresponds to the JSON property `computeEngineAcceleratorType`
2443
+ # @return [String]
2444
+ attr_accessor :compute_engine_accelerator_type
2445
+
2446
+ # Estimated latency.
2447
+ # Corresponds to the JSON property `latencyInMilliseconds`
2448
+ # @return [Float]
2449
+ attr_accessor :latency_in_milliseconds
2450
+
2451
+ # The approximate qps a deployed node can serve.
2452
+ # Corresponds to the JSON property `nodeQps`
2453
+ # @return [Float]
2454
+ attr_accessor :node_qps
2455
+
2456
+ #
2457
+ # Corresponds to the JSON property `servomaticPartitionType`
2458
+ # @return [String]
2459
+ attr_accessor :servomatic_partition_type
2460
+
2461
+ def initialize(**args)
2462
+ update!(**args)
2463
+ end
2464
+
2465
+ # Update properties of this object
2466
+ def update!(**args)
2467
+ @compute_engine_accelerator_type = args[:compute_engine_accelerator_type] if args.key?(:compute_engine_accelerator_type)
2468
+ @latency_in_milliseconds = args[:latency_in_milliseconds] if args.key?(:latency_in_milliseconds)
2469
+ @node_qps = args[:node_qps] if args.key?(:node_qps)
2470
+ @servomatic_partition_type = args[:servomatic_partition_type] if args.key?(:servomatic_partition_type)
2471
+ end
2472
+ end
2473
+
2474
+ # Model evaluation metrics for image object detection problems. Evaluates
2475
+ # prediction quality of labeled bounding boxes.
2476
+ class XpsImageObjectDetectionEvaluationMetrics
2477
+ include Google::Apis::Core::Hashable
2478
+
2479
+ # The single metric for bounding boxes evaluation: the mean_average_precision
2480
+ # averaged over all bounding_box_metrics_entries.
2481
+ # Corresponds to the JSON property `boundingBoxMeanAveragePrecision`
2482
+ # @return [Float]
2483
+ attr_accessor :bounding_box_mean_average_precision
2484
+
2485
+ # The bounding boxes match metrics for each Intersection-over-union threshold 0.
2486
+ # 05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,
2487
+ # 0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
2488
+ # Corresponds to the JSON property `boundingBoxMetricsEntries`
2489
+ # @return [Array<Google::Apis::LanguageV2::XpsBoundingBoxMetricsEntry>]
2490
+ attr_accessor :bounding_box_metrics_entries
2491
+
2492
+ # The total number of bounding boxes (i.e. summed over all images) the ground
2493
+ # truth used to create this evaluation had.
2494
+ # Corresponds to the JSON property `evaluatedBoundingBoxCount`
2495
+ # @return [Fixnum]
2496
+ attr_accessor :evaluated_bounding_box_count
2497
+
2498
+ def initialize(**args)
2499
+ update!(**args)
2500
+ end
2501
+
2502
+ # Update properties of this object
2503
+ def update!(**args)
2504
+ @bounding_box_mean_average_precision = args[:bounding_box_mean_average_precision] if args.key?(:bounding_box_mean_average_precision)
2505
+ @bounding_box_metrics_entries = args[:bounding_box_metrics_entries] if args.key?(:bounding_box_metrics_entries)
2506
+ @evaluated_bounding_box_count = args[:evaluated_bounding_box_count] if args.key?(:evaluated_bounding_box_count)
2507
+ end
2508
+ end
2509
+
2510
+ #
2511
+ class XpsImageObjectDetectionModelSpec
2512
+ include Google::Apis::Core::Hashable
2513
+
2514
+ # Total number of classes.
2515
+ # Corresponds to the JSON property `classCount`
2516
+ # @return [Fixnum]
2517
+ attr_accessor :class_count
2518
+
2519
+ # Information of downloadable models that are pre-generated as part of training
2520
+ # flow and will be persisted in AutoMl backend. Upon receiving ExportModel
2521
+ # request from user, AutoMl backend can serve the pre-generated models to user
2522
+ # if exists (by copying the files from internal path to user provided location),
2523
+ # otherwise, AutoMl backend will call xPS ExportModel API to generate the model
2524
+ # on the fly with the requesting format.
2525
+ # Corresponds to the JSON property `exportModelSpec`
2526
+ # @return [Google::Apis::LanguageV2::XpsImageExportModelSpec]
2527
+ attr_accessor :export_model_spec
2528
+
2529
+ # Max number of bounding box.
2530
+ # Corresponds to the JSON property `maxBoundingBoxCount`
2531
+ # @return [Fixnum]
2532
+ attr_accessor :max_bounding_box_count
2533
+
2534
+ # Stores the locations and related metadata of the model artifacts. Populated
2535
+ # for uCAIP requests only.
2536
+ # Corresponds to the JSON property `modelArtifactSpec`
2537
+ # @return [Google::Apis::LanguageV2::XpsImageModelArtifactSpec]
2538
+ attr_accessor :model_artifact_spec
2539
+
2540
+ # Serving specification for image models.
2541
+ # Corresponds to the JSON property `modelServingSpec`
2542
+ # @return [Google::Apis::LanguageV2::XpsImageModelServingSpec]
2543
+ attr_accessor :model_serving_spec
2544
+
2545
+ # Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', 'MODEL_CONVERGED'.
2546
+ # Corresponds to the JSON property `stopReason`
2547
+ # @return [String]
2548
+ attr_accessor :stop_reason
2549
+
2550
+ # The actual train cost of creating this model, expressed in node seconds, i.e.
2551
+ # 3,600 value in this field means 1 node hour.
2552
+ # Corresponds to the JSON property `trainCostNodeSeconds`
2553
+ # @return [Fixnum]
2554
+ attr_accessor :train_cost_node_seconds
2555
+
2556
+ def initialize(**args)
2557
+ update!(**args)
2558
+ end
2559
+
2560
+ # Update properties of this object
2561
+ def update!(**args)
2562
+ @class_count = args[:class_count] if args.key?(:class_count)
2563
+ @export_model_spec = args[:export_model_spec] if args.key?(:export_model_spec)
2564
+ @max_bounding_box_count = args[:max_bounding_box_count] if args.key?(:max_bounding_box_count)
2565
+ @model_artifact_spec = args[:model_artifact_spec] if args.key?(:model_artifact_spec)
2566
+ @model_serving_spec = args[:model_serving_spec] if args.key?(:model_serving_spec)
2567
+ @stop_reason = args[:stop_reason] if args.key?(:stop_reason)
2568
+ @train_cost_node_seconds = args[:train_cost_node_seconds] if args.key?(:train_cost_node_seconds)
2569
+ end
2570
+ end
2571
+
2572
+ # Model evaluation metrics for image segmentation problems. Next tag: 4.
2573
+ class XpsImageSegmentationEvaluationMetrics
2574
+ include Google::Apis::Core::Hashable
2575
+
2576
+ # Metrics that have confidence thresholds. Precision-recall curve can be derived
2577
+ # from it.
2578
+ # Corresponds to the JSON property `confidenceMetricsEntries`
2579
+ # @return [Array<Google::Apis::LanguageV2::XpsImageSegmentationEvaluationMetricsConfidenceMetricsEntry>]
2580
+ attr_accessor :confidence_metrics_entries
2581
+
2582
+ def initialize(**args)
2583
+ update!(**args)
2584
+ end
2585
+
2586
+ # Update properties of this object
2587
+ def update!(**args)
2588
+ @confidence_metrics_entries = args[:confidence_metrics_entries] if args.key?(:confidence_metrics_entries)
2589
+ end
2590
+ end
2591
+
2592
+ # Metrics for a single confidence threshold.
2593
+ class XpsImageSegmentationEvaluationMetricsConfidenceMetricsEntry
2594
+ include Google::Apis::Core::Hashable
2595
+
2596
+ # The confidence threshold value used to compute the metrics.
2597
+ # Corresponds to the JSON property `confidenceThreshold`
2598
+ # @return [Float]
2599
+ attr_accessor :confidence_threshold
2600
+
2601
+ # Confusion matrix of the model running the classification.
2602
+ # Corresponds to the JSON property `confusionMatrix`
2603
+ # @return [Google::Apis::LanguageV2::XpsConfusionMatrix]
2604
+ attr_accessor :confusion_matrix
2605
+
2606
+ # DSC or the F1 score: The harmonic mean of recall and precision.
2607
+ # Corresponds to the JSON property `diceScoreCoefficient`
2608
+ # @return [Float]
2609
+ attr_accessor :dice_score_coefficient
2610
+
2611
+ # IOU score.
2612
+ # Corresponds to the JSON property `iouScore`
2613
+ # @return [Float]
2614
+ attr_accessor :iou_score
2615
+
2616
+ # Precision for the given confidence threshold.
2617
+ # Corresponds to the JSON property `precision`
2618
+ # @return [Float]
2619
+ attr_accessor :precision
2620
+
2621
+ # Recall for the given confidence threshold.
2622
+ # Corresponds to the JSON property `recall`
2623
+ # @return [Float]
2624
+ attr_accessor :recall
2625
+
2626
+ def initialize(**args)
2627
+ update!(**args)
2628
+ end
2629
+
2630
+ # Update properties of this object
2631
+ def update!(**args)
2632
+ @confidence_threshold = args[:confidence_threshold] if args.key?(:confidence_threshold)
2633
+ @confusion_matrix = args[:confusion_matrix] if args.key?(:confusion_matrix)
2634
+ @dice_score_coefficient = args[:dice_score_coefficient] if args.key?(:dice_score_coefficient)
2635
+ @iou_score = args[:iou_score] if args.key?(:iou_score)
2636
+ @precision = args[:precision] if args.key?(:precision)
2637
+ @recall = args[:recall] if args.key?(:recall)
2638
+ end
2639
+ end
2640
+
2641
+ #
2642
+ class XpsImageSegmentationTrainResponse
2643
+ include Google::Apis::Core::Hashable
2644
+
2645
+ # Color map of the model.
2646
+ # Corresponds to the JSON property `colorMaps`
2647
+ # @return [Array<Google::Apis::LanguageV2::XpsColorMap>]
2648
+ attr_accessor :color_maps
2649
+
2650
+ # Information of downloadable models that are pre-generated as part of training
2651
+ # flow and will be persisted in AutoMl backend. Upon receiving ExportModel
2652
+ # request from user, AutoMl backend can serve the pre-generated models to user
2653
+ # if exists (by copying the files from internal path to user provided location),
2654
+ # otherwise, AutoMl backend will call xPS ExportModel API to generate the model
2655
+ # on the fly with the requesting format.
2656
+ # Corresponds to the JSON property `exportModelSpec`
2657
+ # @return [Google::Apis::LanguageV2::XpsImageExportModelSpec]
2658
+ attr_accessor :export_model_spec
2659
+
2660
+ # Stores the locations and related metadata of the model artifacts. Populated
2661
+ # for uCAIP requests only.
2662
+ # Corresponds to the JSON property `modelArtifactSpec`
2663
+ # @return [Google::Apis::LanguageV2::XpsImageModelArtifactSpec]
2664
+ attr_accessor :model_artifact_spec
2665
+
2666
+ # Serving specification for image models.
2667
+ # Corresponds to the JSON property `modelServingSpec`
2668
+ # @return [Google::Apis::LanguageV2::XpsImageModelServingSpec]
2669
+ attr_accessor :model_serving_spec
2670
+
2671
+ # Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', 'MODEL_CONVERGED'.
2672
+ # Corresponds to the JSON property `stopReason`
2673
+ # @return [String]
2674
+ attr_accessor :stop_reason
2675
+
2676
+ # The actual train cost of creating this model, expressed in node seconds, i.e.
2677
+ # 3,600 value in this field means 1 node hour.
2678
+ # Corresponds to the JSON property `trainCostNodeSeconds`
2679
+ # @return [Fixnum]
2680
+ attr_accessor :train_cost_node_seconds
2681
+
2682
+ def initialize(**args)
2683
+ update!(**args)
2684
+ end
2685
+
2686
+ # Update properties of this object
2687
+ def update!(**args)
2688
+ @color_maps = args[:color_maps] if args.key?(:color_maps)
2689
+ @export_model_spec = args[:export_model_spec] if args.key?(:export_model_spec)
2690
+ @model_artifact_spec = args[:model_artifact_spec] if args.key?(:model_artifact_spec)
2691
+ @model_serving_spec = args[:model_serving_spec] if args.key?(:model_serving_spec)
2692
+ @stop_reason = args[:stop_reason] if args.key?(:stop_reason)
2693
+ @train_cost_node_seconds = args[:train_cost_node_seconds] if args.key?(:train_cost_node_seconds)
2694
+ end
2695
+ end
2696
+
2697
+ # An attribution method that computes the Aumann-Shapley value taking advantage
2698
+ # of the model's fully differentiable structure. Refer to this paper for more
2699
+ # details: https://arxiv.org/abs/1703.01365
2700
+ class XpsIntegratedGradientsAttribution
2701
+ include Google::Apis::Core::Hashable
2702
+
2703
+ # The number of steps for approximating the path integral. A good value to start
2704
+ # is 50 and gradually increase until the sum to diff property is within the
2705
+ # desired error range. Valid range of its value is [1, 100], inclusively.
2706
+ # Corresponds to the JSON property `stepCount`
2707
+ # @return [Fixnum]
2708
+ attr_accessor :step_count
2709
+
2710
+ def initialize(**args)
2711
+ update!(**args)
2712
+ end
2713
+
2714
+ # Update properties of this object
2715
+ def update!(**args)
2716
+ @step_count = args[:step_count] if args.key?(:step_count)
2717
+ end
2718
+ end
2719
+
2720
+ #
2721
+ class XpsMetricEntry
2722
+ include Google::Apis::Core::Hashable
2723
+
2724
+ # For billing metrics that are using legacy sku's, set the legacy billing metric
2725
+ # id here. This will be sent to Chemist as the "cloudbilling.googleapis.com/
2726
+ # argentum_metric_id" label. Otherwise leave empty.
2727
+ # Corresponds to the JSON property `argentumMetricId`
2728
+ # @return [String]
2729
+ attr_accessor :argentum_metric_id
2730
+
2731
+ # A double value.
2732
+ # Corresponds to the JSON property `doubleValue`
2733
+ # @return [Float]
2734
+ attr_accessor :double_value
2735
+
2736
+ # A signed 64-bit integer value.
2737
+ # Corresponds to the JSON property `int64Value`
2738
+ # @return [Fixnum]
2739
+ attr_accessor :int64_value
2740
+
2741
+ # The metric name defined in the service configuration.
2742
+ # Corresponds to the JSON property `metricName`
2743
+ # @return [String]
2744
+ attr_accessor :metric_name
2745
+
2746
+ # Billing system labels for this (metric, value) pair.
2747
+ # Corresponds to the JSON property `systemLabels`
2748
+ # @return [Array<Google::Apis::LanguageV2::XpsMetricEntryLabel>]
2749
+ attr_accessor :system_labels
2750
+
2751
+ def initialize(**args)
2752
+ update!(**args)
2753
+ end
2754
+
2755
+ # Update properties of this object
2756
+ def update!(**args)
2757
+ @argentum_metric_id = args[:argentum_metric_id] if args.key?(:argentum_metric_id)
2758
+ @double_value = args[:double_value] if args.key?(:double_value)
2759
+ @int64_value = args[:int64_value] if args.key?(:int64_value)
2760
+ @metric_name = args[:metric_name] if args.key?(:metric_name)
2761
+ @system_labels = args[:system_labels] if args.key?(:system_labels)
2762
+ end
2763
+ end
2764
+
2765
+ #
2766
+ class XpsMetricEntryLabel
2767
+ include Google::Apis::Core::Hashable
2768
+
2769
+ # The name of the label.
2770
+ # Corresponds to the JSON property `labelName`
2771
+ # @return [String]
2772
+ attr_accessor :label_name
2773
+
2774
+ # The value of the label.
2775
+ # Corresponds to the JSON property `labelValue`
2776
+ # @return [String]
2777
+ attr_accessor :label_value
2778
+
2779
+ def initialize(**args)
2780
+ update!(**args)
2781
+ end
2782
+
2783
+ # Update properties of this object
2784
+ def update!(**args)
2785
+ @label_name = args[:label_name] if args.key?(:label_name)
2786
+ @label_value = args[:label_value] if args.key?(:label_value)
2787
+ end
2788
+ end
2789
+
2790
+ # A single model artifact item.
2791
+ class XpsModelArtifactItem
2792
+ include Google::Apis::Core::Hashable
2793
+
2794
+ # The model artifact format.
2795
+ # Corresponds to the JSON property `artifactFormat`
2796
+ # @return [String]
2797
+ attr_accessor :artifact_format
2798
+
2799
+ # The Google Cloud Storage (GCS) uri that stores the model binary files.
2800
+ # Corresponds to the JSON property `gcsUri`
2801
+ # @return [String]
2802
+ attr_accessor :gcs_uri
2803
+
2804
+ def initialize(**args)
2805
+ update!(**args)
2806
+ end
2807
+
2808
+ # Update properties of this object
2809
+ def update!(**args)
2810
+ @artifact_format = args[:artifact_format] if args.key?(:artifact_format)
2811
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
2812
+ end
2813
+ end
2814
+
2815
+ # Next ID: 8
2816
+ class XpsPreprocessResponse
2817
+ include Google::Apis::Core::Hashable
2818
+
2819
+ # Set of examples or input sources.
2820
+ # Corresponds to the JSON property `outputExampleSet`
2821
+ # @return [Google::Apis::LanguageV2::XpsExampleSet]
2822
+ attr_accessor :output_example_set
2823
+
2824
+ #
2825
+ # Corresponds to the JSON property `speechPreprocessResp`
2826
+ # @return [Google::Apis::LanguageV2::XpsSpeechPreprocessResponse]
2827
+ attr_accessor :speech_preprocess_resp
2828
+
2829
+ #
2830
+ # Corresponds to the JSON property `tablesPreprocessResponse`
2831
+ # @return [Google::Apis::LanguageV2::XpsTablesPreprocessResponse]
2832
+ attr_accessor :tables_preprocess_response
2833
+
2834
+ # Translation preprocess response.
2835
+ # Corresponds to the JSON property `translationPreprocessResp`
2836
+ # @return [Google::Apis::LanguageV2::XpsTranslationPreprocessResponse]
2837
+ attr_accessor :translation_preprocess_resp
2838
+
2839
+ def initialize(**args)
2840
+ update!(**args)
2841
+ end
2842
+
2843
+ # Update properties of this object
2844
+ def update!(**args)
2845
+ @output_example_set = args[:output_example_set] if args.key?(:output_example_set)
2846
+ @speech_preprocess_resp = args[:speech_preprocess_resp] if args.key?(:speech_preprocess_resp)
2847
+ @tables_preprocess_response = args[:tables_preprocess_response] if args.key?(:tables_preprocess_response)
2848
+ @translation_preprocess_resp = args[:translation_preprocess_resp] if args.key?(:translation_preprocess_resp)
2849
+ end
2850
+ end
2851
+
2852
+ # Model evaluation metrics for regression problems. It can be used for Tables.
2853
+ class XpsRegressionEvaluationMetrics
2854
+ include Google::Apis::Core::Hashable
2855
+
2856
+ # Mean Absolute Error (MAE).
2857
+ # Corresponds to the JSON property `meanAbsoluteError`
2858
+ # @return [Float]
2859
+ attr_accessor :mean_absolute_error
2860
+
2861
+ # Mean absolute percentage error. Only set if all ground truth values are
2862
+ # positive.
2863
+ # Corresponds to the JSON property `meanAbsolutePercentageError`
2864
+ # @return [Float]
2865
+ attr_accessor :mean_absolute_percentage_error
2866
+
2867
+ # R squared.
2868
+ # Corresponds to the JSON property `rSquared`
2869
+ # @return [Float]
2870
+ attr_accessor :r_squared
2871
+
2872
+ # A list of actual versus predicted points for the model being evaluated.
2873
+ # Corresponds to the JSON property `regressionMetricsEntries`
2874
+ # @return [Array<Google::Apis::LanguageV2::XpsRegressionMetricsEntry>]
2875
+ attr_accessor :regression_metrics_entries
2876
+
2877
+ # Root Mean Squared Error (RMSE).
2878
+ # Corresponds to the JSON property `rootMeanSquaredError`
2879
+ # @return [Float]
2880
+ attr_accessor :root_mean_squared_error
2881
+
2882
+ # Root mean squared log error.
2883
+ # Corresponds to the JSON property `rootMeanSquaredLogError`
2884
+ # @return [Float]
2885
+ attr_accessor :root_mean_squared_log_error
2886
+
2887
+ def initialize(**args)
2888
+ update!(**args)
2889
+ end
2890
+
2891
+ # Update properties of this object
2892
+ def update!(**args)
2893
+ @mean_absolute_error = args[:mean_absolute_error] if args.key?(:mean_absolute_error)
2894
+ @mean_absolute_percentage_error = args[:mean_absolute_percentage_error] if args.key?(:mean_absolute_percentage_error)
2895
+ @r_squared = args[:r_squared] if args.key?(:r_squared)
2896
+ @regression_metrics_entries = args[:regression_metrics_entries] if args.key?(:regression_metrics_entries)
2897
+ @root_mean_squared_error = args[:root_mean_squared_error] if args.key?(:root_mean_squared_error)
2898
+ @root_mean_squared_log_error = args[:root_mean_squared_log_error] if args.key?(:root_mean_squared_log_error)
2899
+ end
2900
+ end
2901
+
2902
+ # A pair of actual & observed values for the model being evaluated.
2903
+ class XpsRegressionMetricsEntry
2904
+ include Google::Apis::Core::Hashable
2905
+
2906
+ # The observed value for a row in the dataset.
2907
+ # Corresponds to the JSON property `predictedValue`
2908
+ # @return [Float]
2909
+ attr_accessor :predicted_value
2910
+
2911
+ # The actual target value for a row in the dataset.
2912
+ # Corresponds to the JSON property `trueValue`
2913
+ # @return [Float]
2914
+ attr_accessor :true_value
2915
+
2916
+ def initialize(**args)
2917
+ update!(**args)
2918
+ end
2919
+
2920
+ # Update properties of this object
2921
+ def update!(**args)
2922
+ @predicted_value = args[:predicted_value] if args.key?(:predicted_value)
2923
+ @true_value = args[:true_value] if args.key?(:true_value)
2924
+ end
2925
+ end
2926
+
2927
+ #
2928
+ class XpsReportingMetrics
2929
+ include Google::Apis::Core::Hashable
2930
+
2931
+ # The effective time training used. If set, this is used for quota management
2932
+ # and billing. Deprecated. AutoML BE doesn't use this. Don't set.
2933
+ # Corresponds to the JSON property `effectiveTrainingDuration`
2934
+ # @return [String]
2935
+ attr_accessor :effective_training_duration
2936
+
2937
+ # One entry per metric name. The values must be aggregated per metric name.
2938
+ # Corresponds to the JSON property `metricEntries`
2939
+ # @return [Array<Google::Apis::LanguageV2::XpsMetricEntry>]
2940
+ attr_accessor :metric_entries
2941
+
2942
+ def initialize(**args)
2943
+ update!(**args)
2944
+ end
2945
+
2946
+ # Update properties of this object
2947
+ def update!(**args)
2948
+ @effective_training_duration = args[:effective_training_duration] if args.key?(:effective_training_duration)
2949
+ @metric_entries = args[:metric_entries] if args.key?(:metric_entries)
2950
+ end
2951
+ end
2952
+
2953
+ #
2954
+ class XpsResponseExplanationMetadata
2955
+ include Google::Apis::Core::Hashable
2956
+
2957
+ # Metadata of the input.
2958
+ # Corresponds to the JSON property `inputs`
2959
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsResponseExplanationMetadataInputMetadata>]
2960
+ attr_accessor :inputs
2961
+
2962
+ # Metadata of the output.
2963
+ # Corresponds to the JSON property `outputs`
2964
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsResponseExplanationMetadataOutputMetadata>]
2965
+ attr_accessor :outputs
2966
+
2967
+ def initialize(**args)
2968
+ update!(**args)
2969
+ end
2970
+
2971
+ # Update properties of this object
2972
+ def update!(**args)
2973
+ @inputs = args[:inputs] if args.key?(:inputs)
2974
+ @outputs = args[:outputs] if args.key?(:outputs)
2975
+ end
2976
+ end
2977
+
2978
+ # Metadata of the input of a feature.
2979
+ class XpsResponseExplanationMetadataInputMetadata
2980
+ include Google::Apis::Core::Hashable
2981
+
2982
+ # Name of the input tensor for this model. Only needed in train response.
2983
+ # Corresponds to the JSON property `inputTensorName`
2984
+ # @return [String]
2985
+ attr_accessor :input_tensor_name
2986
+
2987
+ # Modality of the feature. Valid values are: numeric, image. Defaults to numeric.
2988
+ # Corresponds to the JSON property `modality`
2989
+ # @return [String]
2990
+ attr_accessor :modality
2991
+
2992
+ # Visualization configurations for image explanation.
2993
+ # Corresponds to the JSON property `visualizationConfig`
2994
+ # @return [Google::Apis::LanguageV2::XpsVisualization]
2995
+ attr_accessor :visualization_config
2996
+
2997
+ def initialize(**args)
2998
+ update!(**args)
2999
+ end
3000
+
3001
+ # Update properties of this object
3002
+ def update!(**args)
3003
+ @input_tensor_name = args[:input_tensor_name] if args.key?(:input_tensor_name)
3004
+ @modality = args[:modality] if args.key?(:modality)
3005
+ @visualization_config = args[:visualization_config] if args.key?(:visualization_config)
3006
+ end
3007
+ end
3008
+
3009
+ # Metadata of the prediction output to be explained.
3010
+ class XpsResponseExplanationMetadataOutputMetadata
3011
+ include Google::Apis::Core::Hashable
3012
+
3013
+ # Name of the output tensor. Only needed in train response.
3014
+ # Corresponds to the JSON property `outputTensorName`
3015
+ # @return [String]
3016
+ attr_accessor :output_tensor_name
3017
+
3018
+ def initialize(**args)
3019
+ update!(**args)
3020
+ end
3021
+
3022
+ # Update properties of this object
3023
+ def update!(**args)
3024
+ @output_tensor_name = args[:output_tensor_name] if args.key?(:output_tensor_name)
3025
+ end
3026
+ end
3027
+
3028
+ #
3029
+ class XpsResponseExplanationParameters
3030
+ include Google::Apis::Core::Hashable
3031
+
3032
+ # An attribution method that computes the Aumann-Shapley value taking advantage
3033
+ # of the model's fully differentiable structure. Refer to this paper for more
3034
+ # details: https://arxiv.org/abs/1703.01365
3035
+ # Corresponds to the JSON property `integratedGradientsAttribution`
3036
+ # @return [Google::Apis::LanguageV2::XpsIntegratedGradientsAttribution]
3037
+ attr_accessor :integrated_gradients_attribution
3038
+
3039
+ # An explanation method that redistributes Integrated Gradients attributions to
3040
+ # segmented regions, taking advantage of the model's fully differentiable
3041
+ # structure. Refer to this paper for more details: https://arxiv.org/abs/1906.
3042
+ # 02825 Only supports image Models (modality is IMAGE).
3043
+ # Corresponds to the JSON property `xraiAttribution`
3044
+ # @return [Google::Apis::LanguageV2::XpsXraiAttribution]
3045
+ attr_accessor :xrai_attribution
3046
+
3047
+ def initialize(**args)
3048
+ update!(**args)
3049
+ end
3050
+
3051
+ # Update properties of this object
3052
+ def update!(**args)
3053
+ @integrated_gradients_attribution = args[:integrated_gradients_attribution] if args.key?(:integrated_gradients_attribution)
3054
+ @xrai_attribution = args[:xrai_attribution] if args.key?(:xrai_attribution)
3055
+ end
3056
+ end
3057
+
3058
+ # Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is
3059
+ # deprecated, see b/288407203 for context.
3060
+ class XpsResponseExplanationSpec
3061
+ include Google::Apis::Core::Hashable
3062
+
3063
+ # Explanation type. For AutoML Image Classification models, possible values are:
3064
+ # * `image-integrated-gradients` * `image-xrai`
3065
+ # Corresponds to the JSON property `explanationType`
3066
+ # @return [String]
3067
+ attr_accessor :explanation_type
3068
+
3069
+ # Metadata describing the Model's input and output for explanation.
3070
+ # Corresponds to the JSON property `metadata`
3071
+ # @return [Google::Apis::LanguageV2::XpsResponseExplanationMetadata]
3072
+ attr_accessor :metadata
3073
+
3074
+ # Parameters that configure explaining of the Model's predictions.
3075
+ # Corresponds to the JSON property `parameters`
3076
+ # @return [Google::Apis::LanguageV2::XpsResponseExplanationParameters]
3077
+ attr_accessor :parameters
3078
+
3079
+ def initialize(**args)
3080
+ update!(**args)
3081
+ end
3082
+
3083
+ # Update properties of this object
3084
+ def update!(**args)
3085
+ @explanation_type = args[:explanation_type] if args.key?(:explanation_type)
3086
+ @metadata = args[:metadata] if args.key?(:metadata)
3087
+ @parameters = args[:parameters] if args.key?(:parameters)
3088
+ end
3089
+ end
3090
+
3091
+ #
3092
+ class XpsRow
3093
+ include Google::Apis::Core::Hashable
3094
+
3095
+ # The ids of the columns. Note: The below `values` field must match order of
3096
+ # this field, if this field is set.
3097
+ # Corresponds to the JSON property `columnIds`
3098
+ # @return [Array<Fixnum>]
3099
+ attr_accessor :column_ids
3100
+
3101
+ # The values of the row cells, given in the same order as the column_ids. If
3102
+ # column_ids is not set, then in the same order as the input_feature_column_ids
3103
+ # in TablesModelMetadata.
3104
+ # Corresponds to the JSON property `values`
3105
+ # @return [Array<Object>]
3106
+ attr_accessor :values
3107
+
3108
+ def initialize(**args)
3109
+ update!(**args)
3110
+ end
3111
+
3112
+ # Update properties of this object
3113
+ def update!(**args)
3114
+ @column_ids = args[:column_ids] if args.key?(:column_ids)
3115
+ @values = args[:values] if args.key?(:values)
3116
+ end
3117
+ end
3118
+
3119
+ #
3120
+ class XpsSpeechEvaluationMetrics
3121
+ include Google::Apis::Core::Hashable
3122
+
3123
+ # Evaluation metrics for all submodels contained in this model.
3124
+ # Corresponds to the JSON property `subModelEvaluationMetrics`
3125
+ # @return [Array<Google::Apis::LanguageV2::XpsSpeechEvaluationMetricsSubModelEvaluationMetric>]
3126
+ attr_accessor :sub_model_evaluation_metrics
3127
+
3128
+ def initialize(**args)
3129
+ update!(**args)
3130
+ end
3131
+
3132
+ # Update properties of this object
3133
+ def update!(**args)
3134
+ @sub_model_evaluation_metrics = args[:sub_model_evaluation_metrics] if args.key?(:sub_model_evaluation_metrics)
3135
+ end
3136
+ end
3137
+
3138
+ #
3139
+ class XpsSpeechEvaluationMetricsSubModelEvaluationMetric
3140
+ include Google::Apis::Core::Hashable
3141
+
3142
+ # Type of the biasing model.
3143
+ # Corresponds to the JSON property `biasingModelType`
3144
+ # @return [String]
3145
+ attr_accessor :biasing_model_type
3146
+
3147
+ # If true then it means we have an enhanced version of the biasing models.
3148
+ # Corresponds to the JSON property `isEnhancedModel`
3149
+ # @return [Boolean]
3150
+ attr_accessor :is_enhanced_model
3151
+ alias_method :is_enhanced_model?, :is_enhanced_model
3152
+
3153
+ #
3154
+ # Corresponds to the JSON property `numDeletions`
3155
+ # @return [Fixnum]
3156
+ attr_accessor :num_deletions
3157
+
3158
+ #
3159
+ # Corresponds to the JSON property `numInsertions`
3160
+ # @return [Fixnum]
3161
+ attr_accessor :num_insertions
3162
+
3163
+ #
3164
+ # Corresponds to the JSON property `numSubstitutions`
3165
+ # @return [Fixnum]
3166
+ attr_accessor :num_substitutions
3167
+
3168
+ # Number of utterances used in the wer computation.
3169
+ # Corresponds to the JSON property `numUtterances`
3170
+ # @return [Fixnum]
3171
+ attr_accessor :num_utterances
3172
+
3173
+ # Number of words over which the word error rate was computed.
3174
+ # Corresponds to the JSON property `numWords`
3175
+ # @return [Fixnum]
3176
+ attr_accessor :num_words
3177
+
3178
+ # Below fields are used for debugging purposes
3179
+ # Corresponds to the JSON property `sentenceAccuracy`
3180
+ # @return [Float]
3181
+ attr_accessor :sentence_accuracy
3182
+
3183
+ # Word error rate (standard error metric used for speech recognition).
3184
+ # Corresponds to the JSON property `wer`
3185
+ # @return [Float]
3186
+ attr_accessor :wer
3187
+
3188
+ def initialize(**args)
3189
+ update!(**args)
3190
+ end
3191
+
3192
+ # Update properties of this object
3193
+ def update!(**args)
3194
+ @biasing_model_type = args[:biasing_model_type] if args.key?(:biasing_model_type)
3195
+ @is_enhanced_model = args[:is_enhanced_model] if args.key?(:is_enhanced_model)
3196
+ @num_deletions = args[:num_deletions] if args.key?(:num_deletions)
3197
+ @num_insertions = args[:num_insertions] if args.key?(:num_insertions)
3198
+ @num_substitutions = args[:num_substitutions] if args.key?(:num_substitutions)
3199
+ @num_utterances = args[:num_utterances] if args.key?(:num_utterances)
3200
+ @num_words = args[:num_words] if args.key?(:num_words)
3201
+ @sentence_accuracy = args[:sentence_accuracy] if args.key?(:sentence_accuracy)
3202
+ @wer = args[:wer] if args.key?(:wer)
3203
+ end
3204
+ end
3205
+
3206
+ #
3207
+ class XpsSpeechModelSpec
3208
+ include Google::Apis::Core::Hashable
3209
+
3210
+ # Required for speech xps backend. Speech xps has to use dataset_id and model_id
3211
+ # as the primary key in db so that speech API can query the db directly.
3212
+ # Corresponds to the JSON property `datasetId`
3213
+ # @return [Fixnum]
3214
+ attr_accessor :dataset_id
3215
+
3216
+ #
3217
+ # Corresponds to the JSON property `language`
3218
+ # @return [String]
3219
+ attr_accessor :language
3220
+
3221
+ # Model specs for all submodels contained in this model.
3222
+ # Corresponds to the JSON property `subModelSpecs`
3223
+ # @return [Array<Google::Apis::LanguageV2::XpsSpeechModelSpecSubModelSpec>]
3224
+ attr_accessor :sub_model_specs
3225
+
3226
+ def initialize(**args)
3227
+ update!(**args)
3228
+ end
3229
+
3230
+ # Update properties of this object
3231
+ def update!(**args)
3232
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
3233
+ @language = args[:language] if args.key?(:language)
3234
+ @sub_model_specs = args[:sub_model_specs] if args.key?(:sub_model_specs)
3235
+ end
3236
+ end
3237
+
3238
+ #
3239
+ class XpsSpeechModelSpecSubModelSpec
3240
+ include Google::Apis::Core::Hashable
3241
+
3242
+ # Type of the biasing model.
3243
+ # Corresponds to the JSON property `biasingModelType`
3244
+ # @return [String]
3245
+ attr_accessor :biasing_model_type
3246
+
3247
+ # In S3, Recognition ClientContextId.client_id
3248
+ # Corresponds to the JSON property `clientId`
3249
+ # @return [String]
3250
+ attr_accessor :client_id
3251
+
3252
+ # In S3, Recognition ClientContextId.context_id
3253
+ # Corresponds to the JSON property `contextId`
3254
+ # @return [String]
3255
+ attr_accessor :context_id
3256
+
3257
+ # If true then it means we have an enhanced version of the biasing models.
3258
+ # Corresponds to the JSON property `isEnhancedModel`
3259
+ # @return [Boolean]
3260
+ attr_accessor :is_enhanced_model
3261
+ alias_method :is_enhanced_model?, :is_enhanced_model
3262
+
3263
+ def initialize(**args)
3264
+ update!(**args)
3265
+ end
3266
+
3267
+ # Update properties of this object
3268
+ def update!(**args)
3269
+ @biasing_model_type = args[:biasing_model_type] if args.key?(:biasing_model_type)
3270
+ @client_id = args[:client_id] if args.key?(:client_id)
3271
+ @context_id = args[:context_id] if args.key?(:context_id)
3272
+ @is_enhanced_model = args[:is_enhanced_model] if args.key?(:is_enhanced_model)
3273
+ end
3274
+ end
3275
+
3276
+ #
3277
+ class XpsSpeechPreprocessResponse
3278
+ include Google::Apis::Core::Hashable
3279
+
3280
+ # Location od shards of sstables (test data) of DataUtterance protos.
3281
+ # Corresponds to the JSON property `cnsTestDataPath`
3282
+ # @return [String]
3283
+ attr_accessor :cns_test_data_path
3284
+
3285
+ # Location of shards of sstables (training data) of DataUtterance protos.
3286
+ # Corresponds to the JSON property `cnsTrainDataPath`
3287
+ # @return [String]
3288
+ attr_accessor :cns_train_data_path
3289
+
3290
+ # The metrics for prebuilt speech models. They are included here because there
3291
+ # is no prebuilt speech models stored in the AutoML.
3292
+ # Corresponds to the JSON property `prebuiltModelEvaluationMetrics`
3293
+ # @return [Google::Apis::LanguageV2::XpsSpeechEvaluationMetrics]
3294
+ attr_accessor :prebuilt_model_evaluation_metrics
3295
+
3296
+ # Stats associated with the data.
3297
+ # Corresponds to the JSON property `speechPreprocessStats`
3298
+ # @return [Google::Apis::LanguageV2::XpsSpeechPreprocessStats]
3299
+ attr_accessor :speech_preprocess_stats
3300
+
3301
+ def initialize(**args)
3302
+ update!(**args)
3303
+ end
3304
+
3305
+ # Update properties of this object
3306
+ def update!(**args)
3307
+ @cns_test_data_path = args[:cns_test_data_path] if args.key?(:cns_test_data_path)
3308
+ @cns_train_data_path = args[:cns_train_data_path] if args.key?(:cns_train_data_path)
3309
+ @prebuilt_model_evaluation_metrics = args[:prebuilt_model_evaluation_metrics] if args.key?(:prebuilt_model_evaluation_metrics)
3310
+ @speech_preprocess_stats = args[:speech_preprocess_stats] if args.key?(:speech_preprocess_stats)
3311
+ end
3312
+ end
3313
+
3314
+ #
3315
+ class XpsSpeechPreprocessStats
3316
+ include Google::Apis::Core::Hashable
3317
+
3318
+ # Different types of data errors and the counts associated with them.
3319
+ # Corresponds to the JSON property `dataErrors`
3320
+ # @return [Array<Google::Apis::LanguageV2::XpsDataErrors>]
3321
+ attr_accessor :data_errors
3322
+
3323
+ # The number of rows marked HUMAN_LABELLED
3324
+ # Corresponds to the JSON property `numHumanLabeledExamples`
3325
+ # @return [Fixnum]
3326
+ attr_accessor :num_human_labeled_examples
3327
+
3328
+ # The number of samples found in the previously recorded logs data.
3329
+ # Corresponds to the JSON property `numLogsExamples`
3330
+ # @return [Fixnum]
3331
+ attr_accessor :num_logs_examples
3332
+
3333
+ # The number of rows marked as MACHINE_TRANSCRIBED
3334
+ # Corresponds to the JSON property `numMachineTranscribedExamples`
3335
+ # @return [Fixnum]
3336
+ attr_accessor :num_machine_transcribed_examples
3337
+
3338
+ # The number of examples labelled as TEST by Speech xps server.
3339
+ # Corresponds to the JSON property `testExamplesCount`
3340
+ # @return [Fixnum]
3341
+ attr_accessor :test_examples_count
3342
+
3343
+ # The number of sentences in the test data set.
3344
+ # Corresponds to the JSON property `testSentencesCount`
3345
+ # @return [Fixnum]
3346
+ attr_accessor :test_sentences_count
3347
+
3348
+ # The number of words in the test data set.
3349
+ # Corresponds to the JSON property `testWordsCount`
3350
+ # @return [Fixnum]
3351
+ attr_accessor :test_words_count
3352
+
3353
+ # The number of examples labeled as TRAIN by Speech xps server.
3354
+ # Corresponds to the JSON property `trainExamplesCount`
3355
+ # @return [Fixnum]
3356
+ attr_accessor :train_examples_count
3357
+
3358
+ # The number of sentences in the training data set.
3359
+ # Corresponds to the JSON property `trainSentencesCount`
3360
+ # @return [Fixnum]
3361
+ attr_accessor :train_sentences_count
3362
+
3363
+ # The number of words in the training data set.
3364
+ # Corresponds to the JSON property `trainWordsCount`
3365
+ # @return [Fixnum]
3366
+ attr_accessor :train_words_count
3367
+
3368
+ def initialize(**args)
3369
+ update!(**args)
3370
+ end
3371
+
3372
+ # Update properties of this object
3373
+ def update!(**args)
3374
+ @data_errors = args[:data_errors] if args.key?(:data_errors)
3375
+ @num_human_labeled_examples = args[:num_human_labeled_examples] if args.key?(:num_human_labeled_examples)
3376
+ @num_logs_examples = args[:num_logs_examples] if args.key?(:num_logs_examples)
3377
+ @num_machine_transcribed_examples = args[:num_machine_transcribed_examples] if args.key?(:num_machine_transcribed_examples)
3378
+ @test_examples_count = args[:test_examples_count] if args.key?(:test_examples_count)
3379
+ @test_sentences_count = args[:test_sentences_count] if args.key?(:test_sentences_count)
3380
+ @test_words_count = args[:test_words_count] if args.key?(:test_words_count)
3381
+ @train_examples_count = args[:train_examples_count] if args.key?(:train_examples_count)
3382
+ @train_sentences_count = args[:train_sentences_count] if args.key?(:train_sentences_count)
3383
+ @train_words_count = args[:train_words_count] if args.key?(:train_words_count)
3384
+ end
3385
+ end
3386
+
3387
+ # The data statistics of a series of STRING values.
3388
+ class XpsStringStats
3389
+ include Google::Apis::Core::Hashable
3390
+
3391
+ # Common statistics for a column with a specified data type.
3392
+ # Corresponds to the JSON property `commonStats`
3393
+ # @return [Google::Apis::LanguageV2::XpsCommonStats]
3394
+ attr_accessor :common_stats
3395
+
3396
+ # The statistics of the top 20 unigrams, ordered by StringStats.UnigramStats.
3397
+ # count.
3398
+ # Corresponds to the JSON property `topUnigramStats`
3399
+ # @return [Array<Google::Apis::LanguageV2::XpsStringStatsUnigramStats>]
3400
+ attr_accessor :top_unigram_stats
3401
+
3402
+ def initialize(**args)
3403
+ update!(**args)
3404
+ end
3405
+
3406
+ # Update properties of this object
3407
+ def update!(**args)
3408
+ @common_stats = args[:common_stats] if args.key?(:common_stats)
3409
+ @top_unigram_stats = args[:top_unigram_stats] if args.key?(:top_unigram_stats)
3410
+ end
3411
+ end
3412
+
3413
+ # The statistics of a unigram.
3414
+ class XpsStringStatsUnigramStats
3415
+ include Google::Apis::Core::Hashable
3416
+
3417
+ # The number of occurrences of this unigram in the series.
3418
+ # Corresponds to the JSON property `count`
3419
+ # @return [Fixnum]
3420
+ attr_accessor :count
3421
+
3422
+ # The unigram.
3423
+ # Corresponds to the JSON property `value`
3424
+ # @return [String]
3425
+ attr_accessor :value
3426
+
3427
+ def initialize(**args)
3428
+ update!(**args)
3429
+ end
3430
+
3431
+ # Update properties of this object
3432
+ def update!(**args)
3433
+ @count = args[:count] if args.key?(:count)
3434
+ @value = args[:value] if args.key?(:value)
3435
+ end
3436
+ end
3437
+
3438
+ # The data statistics of a series of STRUCT values.
3439
+ class XpsStructStats
3440
+ include Google::Apis::Core::Hashable
3441
+
3442
+ # Common statistics for a column with a specified data type.
3443
+ # Corresponds to the JSON property `commonStats`
3444
+ # @return [Google::Apis::LanguageV2::XpsCommonStats]
3445
+ attr_accessor :common_stats
3446
+
3447
+ # Map from a field name of the struct to data stats aggregated over series of
3448
+ # all data in that field across all the structs.
3449
+ # Corresponds to the JSON property `fieldStats`
3450
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsDataStats>]
3451
+ attr_accessor :field_stats
3452
+
3453
+ def initialize(**args)
3454
+ update!(**args)
3455
+ end
3456
+
3457
+ # Update properties of this object
3458
+ def update!(**args)
3459
+ @common_stats = args[:common_stats] if args.key?(:common_stats)
3460
+ @field_stats = args[:field_stats] if args.key?(:field_stats)
3461
+ end
3462
+ end
3463
+
3464
+ # `StructType` defines the DataType-s of a STRUCT type.
3465
+ class XpsStructType
3466
+ include Google::Apis::Core::Hashable
3467
+
3468
+ # Unordered map of struct field names to their data types.
3469
+ # Corresponds to the JSON property `fields`
3470
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsDataType>]
3471
+ attr_accessor :fields
3472
+
3473
+ def initialize(**args)
3474
+ update!(**args)
3475
+ end
3476
+
3477
+ # Update properties of this object
3478
+ def update!(**args)
3479
+ @fields = args[:fields] if args.key?(:fields)
3480
+ end
3481
+ end
3482
+
3483
+ #
3484
+ class XpsTableSpec
3485
+ include Google::Apis::Core::Hashable
3486
+
3487
+ # Mapping from column id to column spec.
3488
+ # Corresponds to the JSON property `columnSpecs`
3489
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsColumnSpec>]
3490
+ attr_accessor :column_specs
3491
+
3492
+ # The total size of imported data of the table.
3493
+ # Corresponds to the JSON property `importedDataSizeInBytes`
3494
+ # @return [Fixnum]
3495
+ attr_accessor :imported_data_size_in_bytes
3496
+
3497
+ # The number of rows in the table.
3498
+ # Corresponds to the JSON property `rowCount`
3499
+ # @return [Fixnum]
3500
+ attr_accessor :row_count
3501
+
3502
+ # The id of the time column.
3503
+ # Corresponds to the JSON property `timeColumnId`
3504
+ # @return [Fixnum]
3505
+ attr_accessor :time_column_id
3506
+
3507
+ # The number of valid rows.
3508
+ # Corresponds to the JSON property `validRowCount`
3509
+ # @return [Fixnum]
3510
+ attr_accessor :valid_row_count
3511
+
3512
+ def initialize(**args)
3513
+ update!(**args)
3514
+ end
3515
+
3516
+ # Update properties of this object
3517
+ def update!(**args)
3518
+ @column_specs = args[:column_specs] if args.key?(:column_specs)
3519
+ @imported_data_size_in_bytes = args[:imported_data_size_in_bytes] if args.key?(:imported_data_size_in_bytes)
3520
+ @row_count = args[:row_count] if args.key?(:row_count)
3521
+ @time_column_id = args[:time_column_id] if args.key?(:time_column_id)
3522
+ @valid_row_count = args[:valid_row_count] if args.key?(:valid_row_count)
3523
+ end
3524
+ end
3525
+
3526
+ # Metrics for Tables classification problems.
3527
+ class XpsTablesClassificationMetrics
3528
+ include Google::Apis::Core::Hashable
3529
+
3530
+ # Metrics building a curve.
3531
+ # Corresponds to the JSON property `curveMetrics`
3532
+ # @return [Array<Google::Apis::LanguageV2::XpsTablesClassificationMetricsCurveMetrics>]
3533
+ attr_accessor :curve_metrics
3534
+
3535
+ def initialize(**args)
3536
+ update!(**args)
3537
+ end
3538
+
3539
+ # Update properties of this object
3540
+ def update!(**args)
3541
+ @curve_metrics = args[:curve_metrics] if args.key?(:curve_metrics)
3542
+ end
3543
+ end
3544
+
3545
+ # Metrics curve data point for a single value.
3546
+ class XpsTablesClassificationMetricsCurveMetrics
3547
+ include Google::Apis::Core::Hashable
3548
+
3549
+ # The area under the precision-recall curve.
3550
+ # Corresponds to the JSON property `aucPr`
3551
+ # @return [Float]
3552
+ attr_accessor :auc_pr
3553
+
3554
+ # The area under receiver operating characteristic curve.
3555
+ # Corresponds to the JSON property `aucRoc`
3556
+ # @return [Float]
3557
+ attr_accessor :auc_roc
3558
+
3559
+ # Metrics that have confidence thresholds. Precision-recall curve and ROC curve
3560
+ # can be derived from them.
3561
+ # Corresponds to the JSON property `confidenceMetricsEntries`
3562
+ # @return [Array<Google::Apis::LanguageV2::XpsTablesConfidenceMetricsEntry>]
3563
+ attr_accessor :confidence_metrics_entries
3564
+
3565
+ # The Log loss metric.
3566
+ # Corresponds to the JSON property `logLoss`
3567
+ # @return [Float]
3568
+ attr_accessor :log_loss
3569
+
3570
+ # The position threshold value used to compute the metrics.
3571
+ # Corresponds to the JSON property `positionThreshold`
3572
+ # @return [Fixnum]
3573
+ attr_accessor :position_threshold
3574
+
3575
+ # The CATEGORY row value (for ARRAY unnested) the curve metrics are for.
3576
+ # Corresponds to the JSON property `value`
3577
+ # @return [String]
3578
+ attr_accessor :value
3579
+
3580
+ def initialize(**args)
3581
+ update!(**args)
3582
+ end
3583
+
3584
+ # Update properties of this object
3585
+ def update!(**args)
3586
+ @auc_pr = args[:auc_pr] if args.key?(:auc_pr)
3587
+ @auc_roc = args[:auc_roc] if args.key?(:auc_roc)
3588
+ @confidence_metrics_entries = args[:confidence_metrics_entries] if args.key?(:confidence_metrics_entries)
3589
+ @log_loss = args[:log_loss] if args.key?(:log_loss)
3590
+ @position_threshold = args[:position_threshold] if args.key?(:position_threshold)
3591
+ @value = args[:value] if args.key?(:value)
3592
+ end
3593
+ end
3594
+
3595
+ # Metrics for a single confidence threshold.
3596
+ class XpsTablesConfidenceMetricsEntry
3597
+ include Google::Apis::Core::Hashable
3598
+
3599
+ # The confidence threshold value used to compute the metrics.
3600
+ # Corresponds to the JSON property `confidenceThreshold`
3601
+ # @return [Float]
3602
+ attr_accessor :confidence_threshold
3603
+
3604
+ # The harmonic mean of recall and precision. (2 * precision * recall) / (
3605
+ # precision + recall)
3606
+ # Corresponds to the JSON property `f1Score`
3607
+ # @return [Float]
3608
+ attr_accessor :f1_score
3609
+
3610
+ # False negative count.
3611
+ # Corresponds to the JSON property `falseNegativeCount`
3612
+ # @return [Fixnum]
3613
+ attr_accessor :false_negative_count
3614
+
3615
+ # False positive count.
3616
+ # Corresponds to the JSON property `falsePositiveCount`
3617
+ # @return [Fixnum]
3618
+ attr_accessor :false_positive_count
3619
+
3620
+ # FPR = #false positives / (#false positives + #true negatives)
3621
+ # Corresponds to the JSON property `falsePositiveRate`
3622
+ # @return [Float]
3623
+ attr_accessor :false_positive_rate
3624
+
3625
+ # Precision = #true positives / (#true positives + #false positives).
3626
+ # Corresponds to the JSON property `precision`
3627
+ # @return [Float]
3628
+ attr_accessor :precision
3629
+
3630
+ # Recall = #true positives / (#true positives + #false negatives).
3631
+ # Corresponds to the JSON property `recall`
3632
+ # @return [Float]
3633
+ attr_accessor :recall
3634
+
3635
+ # True negative count.
3636
+ # Corresponds to the JSON property `trueNegativeCount`
3637
+ # @return [Fixnum]
3638
+ attr_accessor :true_negative_count
3639
+
3640
+ # True positive count.
3641
+ # Corresponds to the JSON property `truePositiveCount`
3642
+ # @return [Fixnum]
3643
+ attr_accessor :true_positive_count
3644
+
3645
+ # TPR = #true positives / (#true positives + #false negatvies)
3646
+ # Corresponds to the JSON property `truePositiveRate`
3647
+ # @return [Float]
3648
+ attr_accessor :true_positive_rate
3649
+
3650
+ def initialize(**args)
3651
+ update!(**args)
3652
+ end
3653
+
3654
+ # Update properties of this object
3655
+ def update!(**args)
3656
+ @confidence_threshold = args[:confidence_threshold] if args.key?(:confidence_threshold)
3657
+ @f1_score = args[:f1_score] if args.key?(:f1_score)
3658
+ @false_negative_count = args[:false_negative_count] if args.key?(:false_negative_count)
3659
+ @false_positive_count = args[:false_positive_count] if args.key?(:false_positive_count)
3660
+ @false_positive_rate = args[:false_positive_rate] if args.key?(:false_positive_rate)
3661
+ @precision = args[:precision] if args.key?(:precision)
3662
+ @recall = args[:recall] if args.key?(:recall)
3663
+ @true_negative_count = args[:true_negative_count] if args.key?(:true_negative_count)
3664
+ @true_positive_count = args[:true_positive_count] if args.key?(:true_positive_count)
3665
+ @true_positive_rate = args[:true_positive_rate] if args.key?(:true_positive_rate)
3666
+ end
3667
+ end
3668
+
3669
+ # Metadata for a dataset used for AutoML Tables. Next ID: 6
3670
+ class XpsTablesDatasetMetadata
3671
+ include Google::Apis::Core::Hashable
3672
+
3673
+ # Id the column to split the table.
3674
+ # Corresponds to the JSON property `mlUseColumnId`
3675
+ # @return [Fixnum]
3676
+ attr_accessor :ml_use_column_id
3677
+
3678
+ # Primary table.
3679
+ # Corresponds to the JSON property `primaryTableSpec`
3680
+ # @return [Google::Apis::LanguageV2::XpsTableSpec]
3681
+ attr_accessor :primary_table_spec
3682
+
3683
+ # (the column id : its CorrelationStats with target column).
3684
+ # Corresponds to the JSON property `targetColumnCorrelations`
3685
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsCorrelationStats>]
3686
+ attr_accessor :target_column_correlations
3687
+
3688
+ # Id of the primary table column that should be used as the training label.
3689
+ # Corresponds to the JSON property `targetColumnId`
3690
+ # @return [Fixnum]
3691
+ attr_accessor :target_column_id
3692
+
3693
+ # Id of the primary table column that should be used as the weight column.
3694
+ # Corresponds to the JSON property `weightColumnId`
3695
+ # @return [Fixnum]
3696
+ attr_accessor :weight_column_id
3697
+
3698
+ def initialize(**args)
3699
+ update!(**args)
3700
+ end
3701
+
3702
+ # Update properties of this object
3703
+ def update!(**args)
3704
+ @ml_use_column_id = args[:ml_use_column_id] if args.key?(:ml_use_column_id)
3705
+ @primary_table_spec = args[:primary_table_spec] if args.key?(:primary_table_spec)
3706
+ @target_column_correlations = args[:target_column_correlations] if args.key?(:target_column_correlations)
3707
+ @target_column_id = args[:target_column_id] if args.key?(:target_column_id)
3708
+ @weight_column_id = args[:weight_column_id] if args.key?(:weight_column_id)
3709
+ end
3710
+ end
3711
+
3712
+ #
3713
+ class XpsTablesEvaluationMetrics
3714
+ include Google::Apis::Core::Hashable
3715
+
3716
+ # Metrics for Tables classification problems.
3717
+ # Corresponds to the JSON property `classificationMetrics`
3718
+ # @return [Google::Apis::LanguageV2::XpsTablesClassificationMetrics]
3719
+ attr_accessor :classification_metrics
3720
+
3721
+ # Metrics for Tables regression problems.
3722
+ # Corresponds to the JSON property `regressionMetrics`
3723
+ # @return [Google::Apis::LanguageV2::XpsTablesRegressionMetrics]
3724
+ attr_accessor :regression_metrics
3725
+
3726
+ def initialize(**args)
3727
+ update!(**args)
3728
+ end
3729
+
3730
+ # Update properties of this object
3731
+ def update!(**args)
3732
+ @classification_metrics = args[:classification_metrics] if args.key?(:classification_metrics)
3733
+ @regression_metrics = args[:regression_metrics] if args.key?(:regression_metrics)
3734
+ end
3735
+ end
3736
+
3737
+ # An information specific to given column and Tables Model, in context of the
3738
+ # Model and the predictions created by it.
3739
+ class XpsTablesModelColumnInfo
3740
+ include Google::Apis::Core::Hashable
3741
+
3742
+ # The ID of the column.
3743
+ # Corresponds to the JSON property `columnId`
3744
+ # @return [Fixnum]
3745
+ attr_accessor :column_id
3746
+
3747
+ # When given as part of a Model: Measurement of how much model predictions
3748
+ # correctness on the TEST data depend on values in this column. A value between
3749
+ # 0 and 1, higher means higher influence. These values are normalized - for all
3750
+ # input feature columns of a given model they add to 1. When given back by
3751
+ # Predict or Batch Predict: Measurement of how impactful for the prediction
3752
+ # returned for the given row the value in this column was. Specifically, the
3753
+ # feature importance specifies the marginal contribution that the feature made
3754
+ # to the prediction score compared to the baseline score. These values are
3755
+ # computed using the Sampled Shapley method.
3756
+ # Corresponds to the JSON property `featureImportance`
3757
+ # @return [Float]
3758
+ attr_accessor :feature_importance
3759
+
3760
+ def initialize(**args)
3761
+ update!(**args)
3762
+ end
3763
+
3764
+ # Update properties of this object
3765
+ def update!(**args)
3766
+ @column_id = args[:column_id] if args.key?(:column_id)
3767
+ @feature_importance = args[:feature_importance] if args.key?(:feature_importance)
3768
+ end
3769
+ end
3770
+
3771
+ # A description of Tables model structure.
3772
+ class XpsTablesModelStructure
3773
+ include Google::Apis::Core::Hashable
3774
+
3775
+ # A list of models.
3776
+ # Corresponds to the JSON property `modelParameters`
3777
+ # @return [Array<Google::Apis::LanguageV2::XpsTablesModelStructureModelParameters>]
3778
+ attr_accessor :model_parameters
3779
+
3780
+ def initialize(**args)
3781
+ update!(**args)
3782
+ end
3783
+
3784
+ # Update properties of this object
3785
+ def update!(**args)
3786
+ @model_parameters = args[:model_parameters] if args.key?(:model_parameters)
3787
+ end
3788
+ end
3789
+
3790
+ # Model hyper-parameters for a model.
3791
+ class XpsTablesModelStructureModelParameters
3792
+ include Google::Apis::Core::Hashable
3793
+
3794
+ #
3795
+ # Corresponds to the JSON property `hyperparameters`
3796
+ # @return [Array<Google::Apis::LanguageV2::XpsTablesModelStructureModelParametersParameter>]
3797
+ attr_accessor :hyperparameters
3798
+
3799
+ def initialize(**args)
3800
+ update!(**args)
3801
+ end
3802
+
3803
+ # Update properties of this object
3804
+ def update!(**args)
3805
+ @hyperparameters = args[:hyperparameters] if args.key?(:hyperparameters)
3806
+ end
3807
+ end
3808
+
3809
+ #
3810
+ class XpsTablesModelStructureModelParametersParameter
3811
+ include Google::Apis::Core::Hashable
3812
+
3813
+ # Float type parameter value.
3814
+ # Corresponds to the JSON property `floatValue`
3815
+ # @return [Float]
3816
+ attr_accessor :float_value
3817
+
3818
+ # Integer type parameter value.
3819
+ # Corresponds to the JSON property `intValue`
3820
+ # @return [Fixnum]
3821
+ attr_accessor :int_value
3822
+
3823
+ # Parameter name.
3824
+ # Corresponds to the JSON property `name`
3825
+ # @return [String]
3826
+ attr_accessor :name
3827
+
3828
+ # String type parameter value.
3829
+ # Corresponds to the JSON property `stringValue`
3830
+ # @return [String]
3831
+ attr_accessor :string_value
3832
+
3833
+ def initialize(**args)
3834
+ update!(**args)
3835
+ end
3836
+
3837
+ # Update properties of this object
3838
+ def update!(**args)
3839
+ @float_value = args[:float_value] if args.key?(:float_value)
3840
+ @int_value = args[:int_value] if args.key?(:int_value)
3841
+ @name = args[:name] if args.key?(:name)
3842
+ @string_value = args[:string_value] if args.key?(:string_value)
3843
+ end
3844
+ end
3845
+
3846
+ #
3847
+ class XpsTablesPreprocessResponse
3848
+ include Google::Apis::Core::Hashable
3849
+
3850
+ # Metadata for a dataset used for AutoML Tables. Next ID: 6
3851
+ # Corresponds to the JSON property `tablesDatasetMetadata`
3852
+ # @return [Google::Apis::LanguageV2::XpsTablesDatasetMetadata]
3853
+ attr_accessor :tables_dataset_metadata
3854
+
3855
+ def initialize(**args)
3856
+ update!(**args)
3857
+ end
3858
+
3859
+ # Update properties of this object
3860
+ def update!(**args)
3861
+ @tables_dataset_metadata = args[:tables_dataset_metadata] if args.key?(:tables_dataset_metadata)
3862
+ end
3863
+ end
3864
+
3865
+ # Metrics for Tables regression problems.
3866
+ class XpsTablesRegressionMetrics
3867
+ include Google::Apis::Core::Hashable
3868
+
3869
+ # Mean absolute error.
3870
+ # Corresponds to the JSON property `meanAbsoluteError`
3871
+ # @return [Float]
3872
+ attr_accessor :mean_absolute_error
3873
+
3874
+ # Mean absolute percentage error, only set if all of the target column's values
3875
+ # are positive.
3876
+ # Corresponds to the JSON property `meanAbsolutePercentageError`
3877
+ # @return [Float]
3878
+ attr_accessor :mean_absolute_percentage_error
3879
+
3880
+ # R squared.
3881
+ # Corresponds to the JSON property `rSquared`
3882
+ # @return [Float]
3883
+ attr_accessor :r_squared
3884
+
3885
+ # A list of actual versus predicted points for the model being evaluated.
3886
+ # Corresponds to the JSON property `regressionMetricsEntries`
3887
+ # @return [Array<Google::Apis::LanguageV2::XpsRegressionMetricsEntry>]
3888
+ attr_accessor :regression_metrics_entries
3889
+
3890
+ # Root mean squared error.
3891
+ # Corresponds to the JSON property `rootMeanSquaredError`
3892
+ # @return [Float]
3893
+ attr_accessor :root_mean_squared_error
3894
+
3895
+ # Root mean squared log error.
3896
+ # Corresponds to the JSON property `rootMeanSquaredLogError`
3897
+ # @return [Float]
3898
+ attr_accessor :root_mean_squared_log_error
3899
+
3900
+ def initialize(**args)
3901
+ update!(**args)
3902
+ end
3903
+
3904
+ # Update properties of this object
3905
+ def update!(**args)
3906
+ @mean_absolute_error = args[:mean_absolute_error] if args.key?(:mean_absolute_error)
3907
+ @mean_absolute_percentage_error = args[:mean_absolute_percentage_error] if args.key?(:mean_absolute_percentage_error)
3908
+ @r_squared = args[:r_squared] if args.key?(:r_squared)
3909
+ @regression_metrics_entries = args[:regression_metrics_entries] if args.key?(:regression_metrics_entries)
3910
+ @root_mean_squared_error = args[:root_mean_squared_error] if args.key?(:root_mean_squared_error)
3911
+ @root_mean_squared_log_error = args[:root_mean_squared_log_error] if args.key?(:root_mean_squared_log_error)
3912
+ end
3913
+ end
3914
+
3915
+ #
3916
+ class XpsTablesTrainResponse
3917
+ include Google::Apis::Core::Hashable
3918
+
3919
+ # A description of Tables model structure.
3920
+ # Corresponds to the JSON property `modelStructure`
3921
+ # @return [Google::Apis::LanguageV2::XpsTablesModelStructure]
3922
+ attr_accessor :model_structure
3923
+
3924
+ # Sample rows from the dataset this model was trained.
3925
+ # Corresponds to the JSON property `predictionSampleRows`
3926
+ # @return [Array<Google::Apis::LanguageV2::XpsRow>]
3927
+ attr_accessor :prediction_sample_rows
3928
+
3929
+ # Output only. Auxiliary information for each of the input_feature_column_specs,
3930
+ # with respect to this particular model.
3931
+ # Corresponds to the JSON property `tablesModelColumnInfo`
3932
+ # @return [Array<Google::Apis::LanguageV2::XpsTablesModelColumnInfo>]
3933
+ attr_accessor :tables_model_column_info
3934
+
3935
+ # The actual training cost of the model, expressed in milli node hours, i.e. 1,
3936
+ # 000 value in this field means 1 node hour. Guaranteed to not exceed the train
3937
+ # budget.
3938
+ # Corresponds to the JSON property `trainCostMilliNodeHours`
3939
+ # @return [Fixnum]
3940
+ attr_accessor :train_cost_milli_node_hours
3941
+
3942
+ def initialize(**args)
3943
+ update!(**args)
3944
+ end
3945
+
3946
+ # Update properties of this object
3947
+ def update!(**args)
3948
+ @model_structure = args[:model_structure] if args.key?(:model_structure)
3949
+ @prediction_sample_rows = args[:prediction_sample_rows] if args.key?(:prediction_sample_rows)
3950
+ @tables_model_column_info = args[:tables_model_column_info] if args.key?(:tables_model_column_info)
3951
+ @train_cost_milli_node_hours = args[:train_cost_milli_node_hours] if args.key?(:train_cost_milli_node_hours)
3952
+ end
3953
+ end
3954
+
3955
+ #
3956
+ class XpsTablesTrainingOperationMetadata
3957
+ include Google::Apis::Core::Hashable
3958
+
3959
+ # Current stage of creating model.
3960
+ # Corresponds to the JSON property `createModelStage`
3961
+ # @return [String]
3962
+ attr_accessor :create_model_stage
3963
+
3964
+ # The optimization objective for model.
3965
+ # Corresponds to the JSON property `optimizationObjective`
3966
+ # @return [String]
3967
+ attr_accessor :optimization_objective
3968
+
3969
+ # This field is for training. When the operation is terminated successfully,
3970
+ # AutoML Backend post this field to operation metadata in spanner. If the
3971
+ # metadata has no trials returned, the training operation is supposed to be a
3972
+ # failure.
3973
+ # Corresponds to the JSON property `topTrials`
3974
+ # @return [Array<Google::Apis::LanguageV2::XpsTuningTrial>]
3975
+ attr_accessor :top_trials
3976
+
3977
+ # Creating model budget.
3978
+ # Corresponds to the JSON property `trainBudgetMilliNodeHours`
3979
+ # @return [Fixnum]
3980
+ attr_accessor :train_budget_milli_node_hours
3981
+
3982
+ # This field records the training objective value with respect to time, giving
3983
+ # insight into how the model architecture search is performing as training time
3984
+ # elapses.
3985
+ # Corresponds to the JSON property `trainingObjectivePoints`
3986
+ # @return [Array<Google::Apis::LanguageV2::XpsTrainingObjectivePoint>]
3987
+ attr_accessor :training_objective_points
3988
+
3989
+ # Timestamp when training process starts.
3990
+ # Corresponds to the JSON property `trainingStartTime`
3991
+ # @return [String]
3992
+ attr_accessor :training_start_time
3993
+
3994
+ def initialize(**args)
3995
+ update!(**args)
3996
+ end
3997
+
3998
+ # Update properties of this object
3999
+ def update!(**args)
4000
+ @create_model_stage = args[:create_model_stage] if args.key?(:create_model_stage)
4001
+ @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
4002
+ @top_trials = args[:top_trials] if args.key?(:top_trials)
4003
+ @train_budget_milli_node_hours = args[:train_budget_milli_node_hours] if args.key?(:train_budget_milli_node_hours)
4004
+ @training_objective_points = args[:training_objective_points] if args.key?(:training_objective_points)
4005
+ @training_start_time = args[:training_start_time] if args.key?(:training_start_time)
4006
+ end
4007
+ end
4008
+
4009
+ # Component model. Next ID: 10
4010
+ class XpsTextComponentModel
4011
+ include Google::Apis::Core::Hashable
4012
+
4013
+ # The Cloud Storage resource path to hold batch prediction model.
4014
+ # Corresponds to the JSON property `batchPredictionModelGcsUri`
4015
+ # @return [String]
4016
+ attr_accessor :batch_prediction_model_gcs_uri
4017
+
4018
+ # The Cloud Storage resource path to hold online prediction model.
4019
+ # Corresponds to the JSON property `onlinePredictionModelGcsUri`
4020
+ # @return [String]
4021
+ attr_accessor :online_prediction_model_gcs_uri
4022
+
4023
+ # The partition where the model is deployed. Populated by uCAIP BE as part of
4024
+ # online PredictRequest.
4025
+ # Corresponds to the JSON property `partition`
4026
+ # @return [String]
4027
+ attr_accessor :partition
4028
+
4029
+ # A single model artifact item.
4030
+ # Corresponds to the JSON property `servingArtifact`
4031
+ # @return [Google::Apis::LanguageV2::XpsModelArtifactItem]
4032
+ attr_accessor :serving_artifact
4033
+
4034
+ # The name of servo model. Populated by uCAIP BE as part of online
4035
+ # PredictRequest.
4036
+ # Corresponds to the JSON property `servoModelName`
4037
+ # @return [String]
4038
+ attr_accessor :servo_model_name
4039
+
4040
+ # The name of the trained NL submodel.
4041
+ # Corresponds to the JSON property `submodelName`
4042
+ # @return [String]
4043
+ attr_accessor :submodel_name
4044
+
4045
+ # The type of trained NL submodel
4046
+ # Corresponds to the JSON property `submodelType`
4047
+ # @return [String]
4048
+ attr_accessor :submodel_type
4049
+
4050
+ # ## The fields below are only populated under uCAIP request scope. https://
4051
+ # cloud.google.com/ml-engine/docs/runtime-version-list
4052
+ # Corresponds to the JSON property `tfRuntimeVersion`
4053
+ # @return [String]
4054
+ attr_accessor :tf_runtime_version
4055
+
4056
+ # The servomatic model version number. Populated by uCAIP BE as part of online
4057
+ # PredictRequest.
4058
+ # Corresponds to the JSON property `versionNumber`
4059
+ # @return [Fixnum]
4060
+ attr_accessor :version_number
4061
+
4062
+ def initialize(**args)
4063
+ update!(**args)
4064
+ end
4065
+
4066
+ # Update properties of this object
4067
+ def update!(**args)
4068
+ @batch_prediction_model_gcs_uri = args[:batch_prediction_model_gcs_uri] if args.key?(:batch_prediction_model_gcs_uri)
4069
+ @online_prediction_model_gcs_uri = args[:online_prediction_model_gcs_uri] if args.key?(:online_prediction_model_gcs_uri)
4070
+ @partition = args[:partition] if args.key?(:partition)
4071
+ @serving_artifact = args[:serving_artifact] if args.key?(:serving_artifact)
4072
+ @servo_model_name = args[:servo_model_name] if args.key?(:servo_model_name)
4073
+ @submodel_name = args[:submodel_name] if args.key?(:submodel_name)
4074
+ @submodel_type = args[:submodel_type] if args.key?(:submodel_type)
4075
+ @tf_runtime_version = args[:tf_runtime_version] if args.key?(:tf_runtime_version)
4076
+ @version_number = args[:version_number] if args.key?(:version_number)
4077
+ end
4078
+ end
4079
+
4080
+ #
4081
+ class XpsTextExtractionEvaluationMetrics
4082
+ include Google::Apis::Core::Hashable
4083
+
4084
+ # ConfidenceMetricsEntry includes generic precision, recall, f1 score etc. Next
4085
+ # tag: 16.
4086
+ # Corresponds to the JSON property `bestF1ConfidenceMetrics`
4087
+ # @return [Google::Apis::LanguageV2::XpsConfidenceMetricsEntry]
4088
+ attr_accessor :best_f1_confidence_metrics
4089
+
4090
+ # If the enclosing EvaluationMetrics.label is empty, confidence_metrics_entries
4091
+ # is an evaluation of the entire model across all labels. If the enclosing
4092
+ # EvaluationMetrics.label is set, confidence_metrics_entries applies to that
4093
+ # label.
4094
+ # Corresponds to the JSON property `confidenceMetricsEntries`
4095
+ # @return [Array<Google::Apis::LanguageV2::XpsConfidenceMetricsEntry>]
4096
+ attr_accessor :confidence_metrics_entries
4097
+
4098
+ # Confusion matrix of the model running the classification.
4099
+ # Corresponds to the JSON property `confusionMatrix`
4100
+ # @return [Google::Apis::LanguageV2::XpsConfusionMatrix]
4101
+ attr_accessor :confusion_matrix
4102
+
4103
+ # Only recall, precision, and f1_score will be set.
4104
+ # Corresponds to the JSON property `perLabelConfidenceMetrics`
4105
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsConfidenceMetricsEntry>]
4106
+ attr_accessor :per_label_confidence_metrics
4107
+
4108
+ def initialize(**args)
4109
+ update!(**args)
4110
+ end
4111
+
4112
+ # Update properties of this object
4113
+ def update!(**args)
4114
+ @best_f1_confidence_metrics = args[:best_f1_confidence_metrics] if args.key?(:best_f1_confidence_metrics)
4115
+ @confidence_metrics_entries = args[:confidence_metrics_entries] if args.key?(:confidence_metrics_entries)
4116
+ @confusion_matrix = args[:confusion_matrix] if args.key?(:confusion_matrix)
4117
+ @per_label_confidence_metrics = args[:per_label_confidence_metrics] if args.key?(:per_label_confidence_metrics)
4118
+ end
4119
+ end
4120
+
4121
+ # Model evaluation metrics for text sentiment problems.
4122
+ class XpsTextSentimentEvaluationMetrics
4123
+ include Google::Apis::Core::Hashable
4124
+
4125
+ # Confusion matrix of the model running the classification.
4126
+ # Corresponds to the JSON property `confusionMatrix`
4127
+ # @return [Google::Apis::LanguageV2::XpsConfusionMatrix]
4128
+ attr_accessor :confusion_matrix
4129
+
4130
+ # Output only. The harmonic mean of recall and precision.
4131
+ # Corresponds to the JSON property `f1Score`
4132
+ # @return [Float]
4133
+ attr_accessor :f1_score
4134
+
4135
+ # Output only. Linear weighted kappa. Only set for the overall model evaluation,
4136
+ # not for evaluation of a single annotation spec.
4137
+ # Corresponds to the JSON property `linearKappa`
4138
+ # @return [Float]
4139
+ attr_accessor :linear_kappa
4140
+
4141
+ # Output only. Mean absolute error. Only set for the overall model evaluation,
4142
+ # not for evaluation of a single annotation spec.
4143
+ # Corresponds to the JSON property `meanAbsoluteError`
4144
+ # @return [Float]
4145
+ attr_accessor :mean_absolute_error
4146
+
4147
+ # Output only. Mean squared error. Only set for the overall model evaluation,
4148
+ # not for evaluation of a single annotation spec.
4149
+ # Corresponds to the JSON property `meanSquaredError`
4150
+ # @return [Float]
4151
+ attr_accessor :mean_squared_error
4152
+
4153
+ # Output only. Precision.
4154
+ # Corresponds to the JSON property `precision`
4155
+ # @return [Float]
4156
+ attr_accessor :precision
4157
+
4158
+ # Output only. Quadratic weighted kappa. Only set for the overall model
4159
+ # evaluation, not for evaluation of a single annotation spec.
4160
+ # Corresponds to the JSON property `quadraticKappa`
4161
+ # @return [Float]
4162
+ attr_accessor :quadratic_kappa
4163
+
4164
+ # Output only. Recall.
4165
+ # Corresponds to the JSON property `recall`
4166
+ # @return [Float]
4167
+ attr_accessor :recall
4168
+
4169
+ def initialize(**args)
4170
+ update!(**args)
4171
+ end
4172
+
4173
+ # Update properties of this object
4174
+ def update!(**args)
4175
+ @confusion_matrix = args[:confusion_matrix] if args.key?(:confusion_matrix)
4176
+ @f1_score = args[:f1_score] if args.key?(:f1_score)
4177
+ @linear_kappa = args[:linear_kappa] if args.key?(:linear_kappa)
4178
+ @mean_absolute_error = args[:mean_absolute_error] if args.key?(:mean_absolute_error)
4179
+ @mean_squared_error = args[:mean_squared_error] if args.key?(:mean_squared_error)
4180
+ @precision = args[:precision] if args.key?(:precision)
4181
+ @quadratic_kappa = args[:quadratic_kappa] if args.key?(:quadratic_kappa)
4182
+ @recall = args[:recall] if args.key?(:recall)
4183
+ end
4184
+ end
4185
+
4186
+ # TextToSpeech train response
4187
+ class XpsTextToSpeechTrainResponse
4188
+ include Google::Apis::Core::Hashable
4189
+
4190
+ def initialize(**args)
4191
+ update!(**args)
4192
+ end
4193
+
4194
+ # Update properties of this object
4195
+ def update!(**args)
4196
+ end
4197
+ end
4198
+
4199
+ #
4200
+ class XpsTextTrainResponse
4201
+ include Google::Apis::Core::Hashable
4202
+
4203
+ # Component submodels.
4204
+ # Corresponds to the JSON property `componentModel`
4205
+ # @return [Array<Google::Apis::LanguageV2::XpsTextComponentModel>]
4206
+ attr_accessor :component_model
4207
+
4208
+ def initialize(**args)
4209
+ update!(**args)
4210
+ end
4211
+
4212
+ # Update properties of this object
4213
+ def update!(**args)
4214
+ @component_model = args[:component_model] if args.key?(:component_model)
4215
+ end
4216
+ end
4217
+
4218
+ # A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the
4219
+ # browser and in Node.js using JavaScript.
4220
+ class XpsTfJsFormat
4221
+ include Google::Apis::Core::Hashable
4222
+
4223
+ def initialize(**args)
4224
+ update!(**args)
4225
+ end
4226
+
4227
+ # Update properties of this object
4228
+ def update!(**args)
4229
+ end
4230
+ end
4231
+
4232
+ # LINT.IfChange A model format used for mobile and IoT devices. See https://www.
4233
+ # tensorflow.org/lite.
4234
+ class XpsTfLiteFormat
4235
+ include Google::Apis::Core::Hashable
4236
+
4237
+ def initialize(**args)
4238
+ update!(**args)
4239
+ end
4240
+
4241
+ # Update properties of this object
4242
+ def update!(**args)
4243
+ end
4244
+ end
4245
+
4246
+ # A tensorflow model format in SavedModel format.
4247
+ class XpsTfSavedModelFormat
4248
+ include Google::Apis::Core::Hashable
4249
+
4250
+ def initialize(**args)
4251
+ update!(**args)
4252
+ end
4253
+
4254
+ # Update properties of this object
4255
+ def update!(**args)
4256
+ end
4257
+ end
4258
+
4259
+ # The data statistics of a series of TIMESTAMP values.
4260
+ class XpsTimestampStats
4261
+ include Google::Apis::Core::Hashable
4262
+
4263
+ # Common statistics for a column with a specified data type.
4264
+ # Corresponds to the JSON property `commonStats`
4265
+ # @return [Google::Apis::LanguageV2::XpsCommonStats]
4266
+ attr_accessor :common_stats
4267
+
4268
+ # The string key is the pre-defined granularity. Currently supported:
4269
+ # hour_of_day, day_of_week, month_of_year. Granularities finer that the
4270
+ # granularity of timestamp data are not populated (e.g. if timestamps are at day
4271
+ # granularity, then hour_of_day is not populated).
4272
+ # Corresponds to the JSON property `granularStats`
4273
+ # @return [Hash<String,Google::Apis::LanguageV2::XpsTimestampStatsGranularStats>]
4274
+ attr_accessor :granular_stats
4275
+
4276
+ #
4277
+ # Corresponds to the JSON property `medianTimestampNanos`
4278
+ # @return [Fixnum]
4279
+ attr_accessor :median_timestamp_nanos
4280
+
4281
+ def initialize(**args)
4282
+ update!(**args)
4283
+ end
4284
+
4285
+ # Update properties of this object
4286
+ def update!(**args)
4287
+ @common_stats = args[:common_stats] if args.key?(:common_stats)
4288
+ @granular_stats = args[:granular_stats] if args.key?(:granular_stats)
4289
+ @median_timestamp_nanos = args[:median_timestamp_nanos] if args.key?(:median_timestamp_nanos)
4290
+ end
4291
+ end
4292
+
4293
+ # Stats split by a defined in context granularity.
4294
+ class XpsTimestampStatsGranularStats
4295
+ include Google::Apis::Core::Hashable
4296
+
4297
+ # A map from granularity key to example count for that key. E.g. for hour_of_day
4298
+ # `13` means 1pm, or for month_of_year `5` means May).
4299
+ # Corresponds to the JSON property `buckets`
4300
+ # @return [Hash<String,Fixnum>]
4301
+ attr_accessor :buckets
4302
+
4303
+ def initialize(**args)
4304
+ update!(**args)
4305
+ end
4306
+
4307
+ # Update properties of this object
4308
+ def update!(**args)
4309
+ @buckets = args[:buckets] if args.key?(:buckets)
4310
+ end
4311
+ end
4312
+
4313
+ # Track matching model metrics for a single track match threshold and multiple
4314
+ # label match confidence thresholds. Next tag: 6.
4315
+ class XpsTrackMetricsEntry
4316
+ include Google::Apis::Core::Hashable
4317
+
4318
+ # Output only. Metrics for each label-match confidence_threshold from 0.05,0.10,.
4319
+ # ..,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.
4320
+ # Corresponds to the JSON property `confidenceMetricsEntries`
4321
+ # @return [Array<Google::Apis::LanguageV2::XpsTrackMetricsEntryConfidenceMetricsEntry>]
4322
+ attr_accessor :confidence_metrics_entries
4323
+
4324
+ # Output only. The intersection-over-union threshold value between bounding
4325
+ # boxes across frames used to compute this metric entry.
4326
+ # Corresponds to the JSON property `iouThreshold`
4327
+ # @return [Float]
4328
+ attr_accessor :iou_threshold
4329
+
4330
+ # Output only. The mean bounding box iou over all confidence thresholds.
4331
+ # Corresponds to the JSON property `meanBoundingBoxIou`
4332
+ # @return [Float]
4333
+ attr_accessor :mean_bounding_box_iou
4334
+
4335
+ # Output only. The mean mismatch rate over all confidence thresholds.
4336
+ # Corresponds to the JSON property `meanMismatchRate`
4337
+ # @return [Float]
4338
+ attr_accessor :mean_mismatch_rate
4339
+
4340
+ # Output only. The mean average precision over all confidence thresholds.
4341
+ # Corresponds to the JSON property `meanTrackingAveragePrecision`
4342
+ # @return [Float]
4343
+ attr_accessor :mean_tracking_average_precision
4344
+
4345
+ def initialize(**args)
4346
+ update!(**args)
4347
+ end
4348
+
4349
+ # Update properties of this object
4350
+ def update!(**args)
4351
+ @confidence_metrics_entries = args[:confidence_metrics_entries] if args.key?(:confidence_metrics_entries)
4352
+ @iou_threshold = args[:iou_threshold] if args.key?(:iou_threshold)
4353
+ @mean_bounding_box_iou = args[:mean_bounding_box_iou] if args.key?(:mean_bounding_box_iou)
4354
+ @mean_mismatch_rate = args[:mean_mismatch_rate] if args.key?(:mean_mismatch_rate)
4355
+ @mean_tracking_average_precision = args[:mean_tracking_average_precision] if args.key?(:mean_tracking_average_precision)
4356
+ end
4357
+ end
4358
+
4359
+ # Metrics for a single confidence threshold. Next tag: 6.
4360
+ class XpsTrackMetricsEntryConfidenceMetricsEntry
4361
+ include Google::Apis::Core::Hashable
4362
+
4363
+ # Output only. Bounding box intersection-over-union precision. Measures how well
4364
+ # the bounding boxes overlap between each other (e.g. complete overlap or just
4365
+ # barely above iou_threshold).
4366
+ # Corresponds to the JSON property `boundingBoxIou`
4367
+ # @return [Float]
4368
+ attr_accessor :bounding_box_iou
4369
+
4370
+ # Output only. The confidence threshold value used to compute the metrics.
4371
+ # Corresponds to the JSON property `confidenceThreshold`
4372
+ # @return [Float]
4373
+ attr_accessor :confidence_threshold
4374
+
4375
+ # Output only. Mismatch rate, which measures the tracking consistency, i.e.
4376
+ # correctness of instance ID continuity.
4377
+ # Corresponds to the JSON property `mismatchRate`
4378
+ # @return [Float]
4379
+ attr_accessor :mismatch_rate
4380
+
4381
+ # Output only. Tracking precision.
4382
+ # Corresponds to the JSON property `trackingPrecision`
4383
+ # @return [Float]
4384
+ attr_accessor :tracking_precision
4385
+
4386
+ # Output only. Tracking recall.
4387
+ # Corresponds to the JSON property `trackingRecall`
4388
+ # @return [Float]
4389
+ attr_accessor :tracking_recall
4390
+
4391
+ def initialize(**args)
4392
+ update!(**args)
4393
+ end
4394
+
4395
+ # Update properties of this object
4396
+ def update!(**args)
4397
+ @bounding_box_iou = args[:bounding_box_iou] if args.key?(:bounding_box_iou)
4398
+ @confidence_threshold = args[:confidence_threshold] if args.key?(:confidence_threshold)
4399
+ @mismatch_rate = args[:mismatch_rate] if args.key?(:mismatch_rate)
4400
+ @tracking_precision = args[:tracking_precision] if args.key?(:tracking_precision)
4401
+ @tracking_recall = args[:tracking_recall] if args.key?(:tracking_recall)
4402
+ end
4403
+ end
4404
+
4405
+ # Next ID: 18
4406
+ class XpsTrainResponse
4407
+ include Google::Apis::Core::Hashable
4408
+
4409
+ # Estimated model size in bytes once deployed.
4410
+ # Corresponds to the JSON property `deployedModelSizeBytes`
4411
+ # @return [Fixnum]
4412
+ attr_accessor :deployed_model_size_bytes
4413
+
4414
+ # Optional vision model error analysis configuration. The field is set when
4415
+ # model error analysis is enabled in the training request. The results of error
4416
+ # analysis will be binded together with evaluation results (in the format of
4417
+ # AnnotatedExample).
4418
+ # Corresponds to the JSON property `errorAnalysisConfigs`
4419
+ # @return [Array<Google::Apis::LanguageV2::XpsVisionErrorAnalysisConfig>]
4420
+ attr_accessor :error_analysis_configs
4421
+
4422
+ # Set of examples or input sources.
4423
+ # Corresponds to the JSON property `evaluatedExampleSet`
4424
+ # @return [Google::Apis::LanguageV2::XpsExampleSet]
4425
+ attr_accessor :evaluated_example_set
4426
+
4427
+ # Specifies location of model evaluation metrics.
4428
+ # Corresponds to the JSON property `evaluationMetricsSet`
4429
+ # @return [Google::Apis::LanguageV2::XpsEvaluationMetricsSet]
4430
+ attr_accessor :evaluation_metrics_set
4431
+
4432
+ # VisionExplanationConfig for XAI on test set. Optional for when XAI is enable
4433
+ # in training request.
4434
+ # Corresponds to the JSON property `explanationConfigs`
4435
+ # @return [Array<Google::Apis::LanguageV2::XpsResponseExplanationSpec>]
4436
+ attr_accessor :explanation_configs
4437
+
4438
+ #
4439
+ # Corresponds to the JSON property `imageClassificationTrainResp`
4440
+ # @return [Google::Apis::LanguageV2::XpsImageClassificationTrainResponse]
4441
+ attr_accessor :image_classification_train_resp
4442
+
4443
+ #
4444
+ # Corresponds to the JSON property `imageObjectDetectionTrainResp`
4445
+ # @return [Google::Apis::LanguageV2::XpsImageObjectDetectionModelSpec]
4446
+ attr_accessor :image_object_detection_train_resp
4447
+
4448
+ #
4449
+ # Corresponds to the JSON property `imageSegmentationTrainResp`
4450
+ # @return [Google::Apis::LanguageV2::XpsImageSegmentationTrainResponse]
4451
+ attr_accessor :image_segmentation_train_resp
4452
+
4453
+ # Token that represents the trained model. This is considered immutable and is
4454
+ # persisted in AutoML. xPS can put their own proto in the byte string, to e.g.
4455
+ # point to the model checkpoints. The token is passed to other xPS APIs to refer
4456
+ # to the model.
4457
+ # Corresponds to the JSON property `modelToken`
4458
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
4459
+ # @return [String]
4460
+ attr_accessor :model_token
4461
+
4462
+ #
4463
+ # Corresponds to the JSON property `speechTrainResp`
4464
+ # @return [Google::Apis::LanguageV2::XpsSpeechModelSpec]
4465
+ attr_accessor :speech_train_resp
4466
+
4467
+ #
4468
+ # Corresponds to the JSON property `tablesTrainResp`
4469
+ # @return [Google::Apis::LanguageV2::XpsTablesTrainResponse]
4470
+ attr_accessor :tables_train_resp
4471
+
4472
+ # TextToSpeech train response
4473
+ # Corresponds to the JSON property `textToSpeechTrainResp`
4474
+ # @return [Google::Apis::LanguageV2::XpsTextToSpeechTrainResponse]
4475
+ attr_accessor :text_to_speech_train_resp
4476
+
4477
+ # Will only be needed for uCAIP from Beta.
4478
+ # Corresponds to the JSON property `textTrainResp`
4479
+ # @return [Google::Apis::LanguageV2::XpsTextTrainResponse]
4480
+ attr_accessor :text_train_resp
4481
+
4482
+ # Train response for translation.
4483
+ # Corresponds to the JSON property `translationTrainResp`
4484
+ # @return [Google::Apis::LanguageV2::XpsTranslationTrainResponse]
4485
+ attr_accessor :translation_train_resp
4486
+
4487
+ #
4488
+ # Corresponds to the JSON property `videoActionRecognitionTrainResp`
4489
+ # @return [Google::Apis::LanguageV2::XpsVideoActionRecognitionTrainResponse]
4490
+ attr_accessor :video_action_recognition_train_resp
4491
+
4492
+ #
4493
+ # Corresponds to the JSON property `videoClassificationTrainResp`
4494
+ # @return [Google::Apis::LanguageV2::XpsVideoClassificationTrainResponse]
4495
+ attr_accessor :video_classification_train_resp
4496
+
4497
+ #
4498
+ # Corresponds to the JSON property `videoObjectTrackingTrainResp`
4499
+ # @return [Google::Apis::LanguageV2::XpsVideoObjectTrackingTrainResponse]
4500
+ attr_accessor :video_object_tracking_train_resp
4501
+
4502
+ def initialize(**args)
4503
+ update!(**args)
4504
+ end
4505
+
4506
+ # Update properties of this object
4507
+ def update!(**args)
4508
+ @deployed_model_size_bytes = args[:deployed_model_size_bytes] if args.key?(:deployed_model_size_bytes)
4509
+ @error_analysis_configs = args[:error_analysis_configs] if args.key?(:error_analysis_configs)
4510
+ @evaluated_example_set = args[:evaluated_example_set] if args.key?(:evaluated_example_set)
4511
+ @evaluation_metrics_set = args[:evaluation_metrics_set] if args.key?(:evaluation_metrics_set)
4512
+ @explanation_configs = args[:explanation_configs] if args.key?(:explanation_configs)
4513
+ @image_classification_train_resp = args[:image_classification_train_resp] if args.key?(:image_classification_train_resp)
4514
+ @image_object_detection_train_resp = args[:image_object_detection_train_resp] if args.key?(:image_object_detection_train_resp)
4515
+ @image_segmentation_train_resp = args[:image_segmentation_train_resp] if args.key?(:image_segmentation_train_resp)
4516
+ @model_token = args[:model_token] if args.key?(:model_token)
4517
+ @speech_train_resp = args[:speech_train_resp] if args.key?(:speech_train_resp)
4518
+ @tables_train_resp = args[:tables_train_resp] if args.key?(:tables_train_resp)
4519
+ @text_to_speech_train_resp = args[:text_to_speech_train_resp] if args.key?(:text_to_speech_train_resp)
4520
+ @text_train_resp = args[:text_train_resp] if args.key?(:text_train_resp)
4521
+ @translation_train_resp = args[:translation_train_resp] if args.key?(:translation_train_resp)
4522
+ @video_action_recognition_train_resp = args[:video_action_recognition_train_resp] if args.key?(:video_action_recognition_train_resp)
4523
+ @video_classification_train_resp = args[:video_classification_train_resp] if args.key?(:video_classification_train_resp)
4524
+ @video_object_tracking_train_resp = args[:video_object_tracking_train_resp] if args.key?(:video_object_tracking_train_resp)
4525
+ end
4526
+ end
4527
+
4528
+ #
4529
+ class XpsTrainingObjectivePoint
4530
+ include Google::Apis::Core::Hashable
4531
+
4532
+ # The time at which this point was recorded.
4533
+ # Corresponds to the JSON property `createTime`
4534
+ # @return [String]
4535
+ attr_accessor :create_time
4536
+
4537
+ # The objective value when this point was recorded.
4538
+ # Corresponds to the JSON property `value`
4539
+ # @return [Float]
4540
+ attr_accessor :value
4541
+
4542
+ def initialize(**args)
4543
+ update!(**args)
4544
+ end
4545
+
4546
+ # Update properties of this object
4547
+ def update!(**args)
4548
+ @create_time = args[:create_time] if args.key?(:create_time)
4549
+ @value = args[:value] if args.key?(:value)
4550
+ end
4551
+ end
4552
+
4553
+ # Evaluation metrics for the dataset.
4554
+ class XpsTranslationEvaluationMetrics
4555
+ include Google::Apis::Core::Hashable
4556
+
4557
+ # BLEU score for base model.
4558
+ # Corresponds to the JSON property `baseBleuScore`
4559
+ # @return [Float]
4560
+ attr_accessor :base_bleu_score
4561
+
4562
+ # BLEU score.
4563
+ # Corresponds to the JSON property `bleuScore`
4564
+ # @return [Float]
4565
+ attr_accessor :bleu_score
4566
+
4567
+ def initialize(**args)
4568
+ update!(**args)
4569
+ end
4570
+
4571
+ # Update properties of this object
4572
+ def update!(**args)
4573
+ @base_bleu_score = args[:base_bleu_score] if args.key?(:base_bleu_score)
4574
+ @bleu_score = args[:bleu_score] if args.key?(:bleu_score)
4575
+ end
4576
+ end
4577
+
4578
+ # Translation preprocess response.
4579
+ class XpsTranslationPreprocessResponse
4580
+ include Google::Apis::Core::Hashable
4581
+
4582
+ # Total example count parsed.
4583
+ # Corresponds to the JSON property `parsedExampleCount`
4584
+ # @return [Fixnum]
4585
+ attr_accessor :parsed_example_count
4586
+
4587
+ # Total valid example count.
4588
+ # Corresponds to the JSON property `validExampleCount`
4589
+ # @return [Fixnum]
4590
+ attr_accessor :valid_example_count
4591
+
4592
+ def initialize(**args)
4593
+ update!(**args)
4594
+ end
4595
+
4596
+ # Update properties of this object
4597
+ def update!(**args)
4598
+ @parsed_example_count = args[:parsed_example_count] if args.key?(:parsed_example_count)
4599
+ @valid_example_count = args[:valid_example_count] if args.key?(:valid_example_count)
4600
+ end
4601
+ end
4602
+
4603
+ # Train response for translation.
4604
+ class XpsTranslationTrainResponse
4605
+ include Google::Apis::Core::Hashable
4606
+
4607
+ # Type of the model.
4608
+ # Corresponds to the JSON property `modelType`
4609
+ # @return [String]
4610
+ attr_accessor :model_type
4611
+
4612
+ def initialize(**args)
4613
+ update!(**args)
4614
+ end
4615
+
4616
+ # Update properties of this object
4617
+ def update!(**args)
4618
+ @model_type = args[:model_type] if args.key?(:model_type)
4619
+ end
4620
+ end
4621
+
4622
+ # Metrics for a tuning job generated, will get forwarded to Stackdriver as model
4623
+ # tuning logs. Setting this as a standalone message out of CreateModelMetadata
4624
+ # to avoid confusion as we expose this message only to users.
4625
+ class XpsTuningTrial
4626
+ include Google::Apis::Core::Hashable
4627
+
4628
+ # A description of Tables model structure.
4629
+ # Corresponds to the JSON property `modelStructure`
4630
+ # @return [Google::Apis::LanguageV2::XpsTablesModelStructure]
4631
+ attr_accessor :model_structure
4632
+
4633
+ # The optimization objective evaluation of the eval split data.
4634
+ # Corresponds to the JSON property `trainingObjectivePoint`
4635
+ # @return [Google::Apis::LanguageV2::XpsTrainingObjectivePoint]
4636
+ attr_accessor :training_objective_point
4637
+
4638
+ def initialize(**args)
4639
+ update!(**args)
4640
+ end
4641
+
4642
+ # Update properties of this object
4643
+ def update!(**args)
4644
+ @model_structure = args[:model_structure] if args.key?(:model_structure)
4645
+ @training_objective_point = args[:training_objective_point] if args.key?(:training_objective_point)
4646
+ end
4647
+ end
4648
+
4649
+ # The Evaluation metrics entry given a specific precision_window_length.
4650
+ class XpsVideoActionMetricsEntry
4651
+ include Google::Apis::Core::Hashable
4652
+
4653
+ # Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,
4654
+ # 0.97,0.98,0.99.
4655
+ # Corresponds to the JSON property `confidenceMetricsEntries`
4656
+ # @return [Array<Google::Apis::LanguageV2::XpsVideoActionMetricsEntryConfidenceMetricsEntry>]
4657
+ attr_accessor :confidence_metrics_entries
4658
+
4659
+ # The mean average precision.
4660
+ # Corresponds to the JSON property `meanAveragePrecision`
4661
+ # @return [Float]
4662
+ attr_accessor :mean_average_precision
4663
+
4664
+ # This VideoActionMetricsEntry is calculated based on this prediction window
4665
+ # length. If the predicted action's timestamp is inside the time window whose
4666
+ # center is the ground truth action's timestamp with this specific length, the
4667
+ # prediction result is treated as a true positive.
4668
+ # Corresponds to the JSON property `precisionWindowLength`
4669
+ # @return [String]
4670
+ attr_accessor :precision_window_length
4671
+
4672
+ def initialize(**args)
4673
+ update!(**args)
4674
+ end
4675
+
4676
+ # Update properties of this object
4677
+ def update!(**args)
4678
+ @confidence_metrics_entries = args[:confidence_metrics_entries] if args.key?(:confidence_metrics_entries)
4679
+ @mean_average_precision = args[:mean_average_precision] if args.key?(:mean_average_precision)
4680
+ @precision_window_length = args[:precision_window_length] if args.key?(:precision_window_length)
4681
+ end
4682
+ end
4683
+
4684
+ # Metrics for a single confidence threshold.
4685
+ class XpsVideoActionMetricsEntryConfidenceMetricsEntry
4686
+ include Google::Apis::Core::Hashable
4687
+
4688
+ # Output only. The confidence threshold value used to compute the metrics.
4689
+ # Corresponds to the JSON property `confidenceThreshold`
4690
+ # @return [Float]
4691
+ attr_accessor :confidence_threshold
4692
+
4693
+ # Output only. The harmonic mean of recall and precision.
4694
+ # Corresponds to the JSON property `f1Score`
4695
+ # @return [Float]
4696
+ attr_accessor :f1_score
4697
+
4698
+ # Output only. Precision for the given confidence threshold.
4699
+ # Corresponds to the JSON property `precision`
4700
+ # @return [Float]
4701
+ attr_accessor :precision
4702
+
4703
+ # Output only. Recall for the given confidence threshold.
4704
+ # Corresponds to the JSON property `recall`
4705
+ # @return [Float]
4706
+ attr_accessor :recall
4707
+
4708
+ def initialize(**args)
4709
+ update!(**args)
4710
+ end
4711
+
4712
+ # Update properties of this object
4713
+ def update!(**args)
4714
+ @confidence_threshold = args[:confidence_threshold] if args.key?(:confidence_threshold)
4715
+ @f1_score = args[:f1_score] if args.key?(:f1_score)
4716
+ @precision = args[:precision] if args.key?(:precision)
4717
+ @recall = args[:recall] if args.key?(:recall)
4718
+ end
4719
+ end
4720
+
4721
+ # Model evaluation metrics for video action recognition.
4722
+ class XpsVideoActionRecognitionEvaluationMetrics
4723
+ include Google::Apis::Core::Hashable
4724
+
4725
+ # Output only. The number of ground truth actions used to create this evaluation.
4726
+ # Corresponds to the JSON property `evaluatedActionCount`
4727
+ # @return [Fixnum]
4728
+ attr_accessor :evaluated_action_count
4729
+
4730
+ # Output only. The metric entries for precision window lengths: 1s,2s,3s,4s, 5s.
4731
+ # Corresponds to the JSON property `videoActionMetricsEntries`
4732
+ # @return [Array<Google::Apis::LanguageV2::XpsVideoActionMetricsEntry>]
4733
+ attr_accessor :video_action_metrics_entries
4734
+
4735
+ def initialize(**args)
4736
+ update!(**args)
4737
+ end
4738
+
4739
+ # Update properties of this object
4740
+ def update!(**args)
4741
+ @evaluated_action_count = args[:evaluated_action_count] if args.key?(:evaluated_action_count)
4742
+ @video_action_metrics_entries = args[:video_action_metrics_entries] if args.key?(:video_action_metrics_entries)
4743
+ end
4744
+ end
4745
+
4746
+ #
4747
+ class XpsVideoActionRecognitionTrainResponse
4748
+ include Google::Apis::Core::Hashable
4749
+
4750
+ # ## The fields below are only populated under uCAIP request scope.
4751
+ # Corresponds to the JSON property `modelArtifactSpec`
4752
+ # @return [Google::Apis::LanguageV2::XpsVideoModelArtifactSpec]
4753
+ attr_accessor :model_artifact_spec
4754
+
4755
+ # The actual train cost of creating this model, expressed in node seconds, i.e.
4756
+ # 3,600 value in this field means 1 node hour.
4757
+ # Corresponds to the JSON property `trainCostNodeSeconds`
4758
+ # @return [Fixnum]
4759
+ attr_accessor :train_cost_node_seconds
4760
+
4761
+ def initialize(**args)
4762
+ update!(**args)
4763
+ end
4764
+
4765
+ # Update properties of this object
4766
+ def update!(**args)
4767
+ @model_artifact_spec = args[:model_artifact_spec] if args.key?(:model_artifact_spec)
4768
+ @train_cost_node_seconds = args[:train_cost_node_seconds] if args.key?(:train_cost_node_seconds)
4769
+ end
4770
+ end
4771
+
4772
+ #
4773
+ class XpsVideoBatchPredictOperationMetadata
4774
+ include Google::Apis::Core::Hashable
4775
+
4776
+ # All the partial batch prediction results that are completed at the moment.
4777
+ # Output examples are sorted by completion time. The order will not be changed.
4778
+ # Each output example should be the path of a single RecordIO file of
4779
+ # AnnotatedExamples.
4780
+ # Corresponds to the JSON property `outputExamples`
4781
+ # @return [Array<String>]
4782
+ attr_accessor :output_examples
4783
+
4784
+ def initialize(**args)
4785
+ update!(**args)
4786
+ end
4787
+
4788
+ # Update properties of this object
4789
+ def update!(**args)
4790
+ @output_examples = args[:output_examples] if args.key?(:output_examples)
4791
+ end
4792
+ end
4793
+
4794
+ #
4795
+ class XpsVideoClassificationTrainResponse
4796
+ include Google::Apis::Core::Hashable
4797
+
4798
+ # ## The fields below are only populated under uCAIP request scope.
4799
+ # Corresponds to the JSON property `modelArtifactSpec`
4800
+ # @return [Google::Apis::LanguageV2::XpsVideoModelArtifactSpec]
4801
+ attr_accessor :model_artifact_spec
4802
+
4803
+ # The actual train cost of creating this model, expressed in node seconds, i.e.
4804
+ # 3,600 value in this field means 1 node hour.
4805
+ # Corresponds to the JSON property `trainCostNodeSeconds`
4806
+ # @return [Fixnum]
4807
+ attr_accessor :train_cost_node_seconds
4808
+
4809
+ def initialize(**args)
4810
+ update!(**args)
4811
+ end
4812
+
4813
+ # Update properties of this object
4814
+ def update!(**args)
4815
+ @model_artifact_spec = args[:model_artifact_spec] if args.key?(:model_artifact_spec)
4816
+ @train_cost_node_seconds = args[:train_cost_node_seconds] if args.key?(:train_cost_node_seconds)
4817
+ end
4818
+ end
4819
+
4820
+ # Information of downloadable models that are pre-generated as part of training
4821
+ # flow and will be persisted in AutoMl backend. Upon receiving ExportModel
4822
+ # request from user, AutoMl backend can serve the pre-generated models to user
4823
+ # if exists (by copying the files from internal path to user provided location),
4824
+ # otherwise, AutoMl backend will call xPS ExportModel API to generate the model
4825
+ # on the fly with the requesting format.
4826
+ class XpsVideoExportModelSpec
4827
+ include Google::Apis::Core::Hashable
4828
+
4829
+ # Contains the model format and internal location of the model files to be
4830
+ # exported/downloaded. Use the GCS bucket name which is provided via
4831
+ # TrainRequest.gcs_bucket_name to store the model files.
4832
+ # Corresponds to the JSON property `exportModelOutputConfig`
4833
+ # @return [Array<Google::Apis::LanguageV2::XpsExportModelOutputConfig>]
4834
+ attr_accessor :export_model_output_config
4835
+
4836
+ def initialize(**args)
4837
+ update!(**args)
4838
+ end
4839
+
4840
+ # Update properties of this object
4841
+ def update!(**args)
4842
+ @export_model_output_config = args[:export_model_output_config] if args.key?(:export_model_output_config)
4843
+ end
4844
+ end
4845
+
4846
+ #
4847
+ class XpsVideoModelArtifactSpec
4848
+ include Google::Apis::Core::Hashable
4849
+
4850
+ # The model binary files in different formats for model export.
4851
+ # Corresponds to the JSON property `exportArtifact`
4852
+ # @return [Array<Google::Apis::LanguageV2::XpsModelArtifactItem>]
4853
+ attr_accessor :export_artifact
4854
+
4855
+ # A single model artifact item.
4856
+ # Corresponds to the JSON property `servingArtifact`
4857
+ # @return [Google::Apis::LanguageV2::XpsModelArtifactItem]
4858
+ attr_accessor :serving_artifact
4859
+
4860
+ def initialize(**args)
4861
+ update!(**args)
4862
+ end
4863
+
4864
+ # Update properties of this object
4865
+ def update!(**args)
4866
+ @export_artifact = args[:export_artifact] if args.key?(:export_artifact)
4867
+ @serving_artifact = args[:serving_artifact] if args.key?(:serving_artifact)
4868
+ end
4869
+ end
4870
+
4871
+ # Model evaluation metrics for ObjectTracking problems. Next tag: 10.
4872
+ class XpsVideoObjectTrackingEvaluationMetrics
4873
+ include Google::Apis::Core::Hashable
4874
+
4875
+ # Output only. The single metric for bounding boxes evaluation: the
4876
+ # mean_average_precision averaged over all bounding_box_metrics_entries.
4877
+ # Corresponds to the JSON property `boundingBoxMeanAveragePrecision`
4878
+ # @return [Float]
4879
+ attr_accessor :bounding_box_mean_average_precision
4880
+
4881
+ # Output only. The bounding boxes match metrics for each Intersection-over-union
4882
+ # threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.
4883
+ # Corresponds to the JSON property `boundingBoxMetricsEntries`
4884
+ # @return [Array<Google::Apis::LanguageV2::XpsBoundingBoxMetricsEntry>]
4885
+ attr_accessor :bounding_box_metrics_entries
4886
+
4887
+ # The number of bounding boxes used for model evaluation.
4888
+ # Corresponds to the JSON property `evaluatedBoundingboxCount`
4889
+ # @return [Fixnum]
4890
+ attr_accessor :evaluated_boundingbox_count
4891
+
4892
+ # The number of video frames used for model evaluation.
4893
+ # Corresponds to the JSON property `evaluatedFrameCount`
4894
+ # @return [Fixnum]
4895
+ attr_accessor :evaluated_frame_count
4896
+
4897
+ # The number of tracks used for model evaluation.
4898
+ # Corresponds to the JSON property `evaluatedTrackCount`
4899
+ # @return [Fixnum]
4900
+ attr_accessor :evaluated_track_count
4901
+
4902
+ # Output only. The single metric for tracks accuracy evaluation: the
4903
+ # mean_average_precision averaged over all track_metrics_entries.
4904
+ # Corresponds to the JSON property `trackMeanAveragePrecision`
4905
+ # @return [Float]
4906
+ attr_accessor :track_mean_average_precision
4907
+
4908
+ # Output only. The single metric for tracks bounding box iou evaluation: the
4909
+ # mean_bounding_box_iou averaged over all track_metrics_entries.
4910
+ # Corresponds to the JSON property `trackMeanBoundingBoxIou`
4911
+ # @return [Float]
4912
+ attr_accessor :track_mean_bounding_box_iou
4913
+
4914
+ # Output only. The single metric for tracking consistency evaluation: the
4915
+ # mean_mismatch_rate averaged over all track_metrics_entries.
4916
+ # Corresponds to the JSON property `trackMeanMismatchRate`
4917
+ # @return [Float]
4918
+ attr_accessor :track_mean_mismatch_rate
4919
+
4920
+ # Output only. The tracks match metrics for each Intersection-over-union
4921
+ # threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.
4922
+ # Corresponds to the JSON property `trackMetricsEntries`
4923
+ # @return [Array<Google::Apis::LanguageV2::XpsTrackMetricsEntry>]
4924
+ attr_accessor :track_metrics_entries
4925
+
4926
+ def initialize(**args)
4927
+ update!(**args)
4928
+ end
4929
+
4930
+ # Update properties of this object
4931
+ def update!(**args)
4932
+ @bounding_box_mean_average_precision = args[:bounding_box_mean_average_precision] if args.key?(:bounding_box_mean_average_precision)
4933
+ @bounding_box_metrics_entries = args[:bounding_box_metrics_entries] if args.key?(:bounding_box_metrics_entries)
4934
+ @evaluated_boundingbox_count = args[:evaluated_boundingbox_count] if args.key?(:evaluated_boundingbox_count)
4935
+ @evaluated_frame_count = args[:evaluated_frame_count] if args.key?(:evaluated_frame_count)
4936
+ @evaluated_track_count = args[:evaluated_track_count] if args.key?(:evaluated_track_count)
4937
+ @track_mean_average_precision = args[:track_mean_average_precision] if args.key?(:track_mean_average_precision)
4938
+ @track_mean_bounding_box_iou = args[:track_mean_bounding_box_iou] if args.key?(:track_mean_bounding_box_iou)
4939
+ @track_mean_mismatch_rate = args[:track_mean_mismatch_rate] if args.key?(:track_mean_mismatch_rate)
4940
+ @track_metrics_entries = args[:track_metrics_entries] if args.key?(:track_metrics_entries)
4941
+ end
4942
+ end
4943
+
4944
+ #
4945
+ class XpsVideoObjectTrackingTrainResponse
4946
+ include Google::Apis::Core::Hashable
4947
+
4948
+ # Information of downloadable models that are pre-generated as part of training
4949
+ # flow and will be persisted in AutoMl backend. Upon receiving ExportModel
4950
+ # request from user, AutoMl backend can serve the pre-generated models to user
4951
+ # if exists (by copying the files from internal path to user provided location),
4952
+ # otherwise, AutoMl backend will call xPS ExportModel API to generate the model
4953
+ # on the fly with the requesting format.
4954
+ # Corresponds to the JSON property `exportModelSpec`
4955
+ # @return [Google::Apis::LanguageV2::XpsVideoExportModelSpec]
4956
+ attr_accessor :export_model_spec
4957
+
4958
+ # ## The fields below are only populated under uCAIP request scope.
4959
+ # Corresponds to the JSON property `modelArtifactSpec`
4960
+ # @return [Google::Apis::LanguageV2::XpsVideoModelArtifactSpec]
4961
+ attr_accessor :model_artifact_spec
4962
+
4963
+ # The actual train cost of creating this model, expressed in node seconds, i.e.
4964
+ # 3,600 value in this field means 1 node hour.
4965
+ # Corresponds to the JSON property `trainCostNodeSeconds`
4966
+ # @return [Fixnum]
4967
+ attr_accessor :train_cost_node_seconds
4968
+
4969
+ def initialize(**args)
4970
+ update!(**args)
4971
+ end
4972
+
4973
+ # Update properties of this object
4974
+ def update!(**args)
4975
+ @export_model_spec = args[:export_model_spec] if args.key?(:export_model_spec)
4976
+ @model_artifact_spec = args[:model_artifact_spec] if args.key?(:model_artifact_spec)
4977
+ @train_cost_node_seconds = args[:train_cost_node_seconds] if args.key?(:train_cost_node_seconds)
4978
+ end
4979
+ end
4980
+
4981
+ #
4982
+ class XpsVideoTrainingOperationMetadata
4983
+ include Google::Apis::Core::Hashable
4984
+
4985
+ # This is an estimation of the node hours necessary for training a model,
4986
+ # expressed in milli node hours (i.e. 1,000 value in this field means 1 node
4987
+ # hour). A node hour represents the time a virtual machine spends running your
4988
+ # training job. The cost of one node running for one hour is a node hour.
4989
+ # Corresponds to the JSON property `trainCostMilliNodeHour`
4990
+ # @return [Fixnum]
4991
+ attr_accessor :train_cost_milli_node_hour
4992
+
4993
+ def initialize(**args)
4994
+ update!(**args)
4995
+ end
4996
+
4997
+ # Update properties of this object
4998
+ def update!(**args)
4999
+ @train_cost_milli_node_hour = args[:train_cost_milli_node_hour] if args.key?(:train_cost_milli_node_hour)
5000
+ end
5001
+ end
5002
+
5003
+ # The vision model error analysis configuration. Next tag: 3
5004
+ class XpsVisionErrorAnalysisConfig
5005
+ include Google::Apis::Core::Hashable
5006
+
5007
+ # The number of query examples in error analysis.
5008
+ # Corresponds to the JSON property `exampleCount`
5009
+ # @return [Fixnum]
5010
+ attr_accessor :example_count
5011
+
5012
+ # The query type used in retrieval. The enum values are frozen in the
5013
+ # foreseeable future.
5014
+ # Corresponds to the JSON property `queryType`
5015
+ # @return [String]
5016
+ attr_accessor :query_type
5017
+
5018
+ def initialize(**args)
5019
+ update!(**args)
5020
+ end
5021
+
5022
+ # Update properties of this object
5023
+ def update!(**args)
5024
+ @example_count = args[:example_count] if args.key?(:example_count)
5025
+ @query_type = args[:query_type] if args.key?(:query_type)
5026
+ end
5027
+ end
5028
+
5029
+ #
5030
+ class XpsVisionTrainingOperationMetadata
5031
+ include Google::Apis::Core::Hashable
5032
+
5033
+ # Infra Usage of billing metrics. Next ID: 6
5034
+ # Corresponds to the JSON property `explanationUsage`
5035
+ # @return [Google::Apis::LanguageV2::InfraUsage]
5036
+ attr_accessor :explanation_usage
5037
+
5038
+ def initialize(**args)
5039
+ update!(**args)
5040
+ end
5041
+
5042
+ # Update properties of this object
5043
+ def update!(**args)
5044
+ @explanation_usage = args[:explanation_usage] if args.key?(:explanation_usage)
5045
+ end
5046
+ end
5047
+
5048
+ # Visualization configurations for image explanation.
5049
+ class XpsVisualization
5050
+ include Google::Apis::Core::Hashable
5051
+
5052
+ # Excludes attributions below the specified percentile, from the highlighted
5053
+ # areas. Defaults to 62.
5054
+ # Corresponds to the JSON property `clipPercentLowerbound`
5055
+ # @return [Float]
5056
+ attr_accessor :clip_percent_lowerbound
5057
+
5058
+ # Excludes attributions above the specified percentile from the highlighted
5059
+ # areas. Using the clip_percent_upperbound and clip_percent_lowerbound together
5060
+ # can be useful for filtering out noise and making it easier to see areas of
5061
+ # strong attribution. Defaults to 99.9.
5062
+ # Corresponds to the JSON property `clipPercentUpperbound`
5063
+ # @return [Float]
5064
+ attr_accessor :clip_percent_upperbound
5065
+
5066
+ # The color scheme used for the highlighted areas. Defaults to PINK_GREEN for
5067
+ # Integrated Gradients attribution, which shows positive attributions in green
5068
+ # and negative in pink. Defaults to VIRIDIS for XRAI attribution, which
5069
+ # highlights the most influential regions in yellow and the least influential in
5070
+ # blue.
5071
+ # Corresponds to the JSON property `colorMap`
5072
+ # @return [String]
5073
+ attr_accessor :color_map
5074
+
5075
+ # How the original image is displayed in the visualization. Adjusting the
5076
+ # overlay can help increase visual clarity if the original image makes it
5077
+ # difficult to view the visualization. Defaults to NONE.
5078
+ # Corresponds to the JSON property `overlayType`
5079
+ # @return [String]
5080
+ attr_accessor :overlay_type
5081
+
5082
+ # Whether to only highlight pixels with positive contributions, negative or both.
5083
+ # Defaults to POSITIVE.
5084
+ # Corresponds to the JSON property `polarity`
5085
+ # @return [String]
5086
+ attr_accessor :polarity
5087
+
5088
+ # Type of the image visualization. Only applicable to Integrated Gradients
5089
+ # attribution. OUTLINES shows regions of attribution, while PIXELS shows per-
5090
+ # pixel attribution. Defaults to OUTLINES.
5091
+ # Corresponds to the JSON property `type`
5092
+ # @return [String]
5093
+ attr_accessor :type
5094
+
5095
+ def initialize(**args)
5096
+ update!(**args)
5097
+ end
5098
+
5099
+ # Update properties of this object
5100
+ def update!(**args)
5101
+ @clip_percent_lowerbound = args[:clip_percent_lowerbound] if args.key?(:clip_percent_lowerbound)
5102
+ @clip_percent_upperbound = args[:clip_percent_upperbound] if args.key?(:clip_percent_upperbound)
5103
+ @color_map = args[:color_map] if args.key?(:color_map)
5104
+ @overlay_type = args[:overlay_type] if args.key?(:overlay_type)
5105
+ @polarity = args[:polarity] if args.key?(:polarity)
5106
+ @type = args[:type] if args.key?(:type)
5107
+ end
5108
+ end
5109
+
5110
+ #
5111
+ class XpsXpsOperationMetadata
5112
+ include Google::Apis::Core::Hashable
5113
+
5114
+ # Optional. XPS server can opt to provide example count of the long running
5115
+ # operation (e.g. training, data importing, batch prediction).
5116
+ # Corresponds to the JSON property `exampleCount`
5117
+ # @return [Fixnum]
5118
+ attr_accessor :example_count
5119
+
5120
+ # Metrics for the operation. By the time the operation is terminated (whether
5121
+ # succeeded or failed) as returned from XPS, AutoML BE assumes the metrics are
5122
+ # finalized. AutoML BE transparently posts the metrics to Chemist if it's not
5123
+ # empty, regardless of the response content or error type. If user is supposed
5124
+ # to be charged in case of cancellation/error, this field should be set. In the
5125
+ # case where the type of LRO doesn't require any billing, this field should be
5126
+ # left unset.
5127
+ # Corresponds to the JSON property `reportingMetrics`
5128
+ # @return [Google::Apis::LanguageV2::XpsReportingMetrics]
5129
+ attr_accessor :reporting_metrics
5130
+
5131
+ #
5132
+ # Corresponds to the JSON property `tablesTrainingOperationMetadata`
5133
+ # @return [Google::Apis::LanguageV2::XpsTablesTrainingOperationMetadata]
5134
+ attr_accessor :tables_training_operation_metadata
5135
+
5136
+ #
5137
+ # Corresponds to the JSON property `videoBatchPredictOperationMetadata`
5138
+ # @return [Google::Apis::LanguageV2::XpsVideoBatchPredictOperationMetadata]
5139
+ attr_accessor :video_batch_predict_operation_metadata
5140
+
5141
+ #
5142
+ # Corresponds to the JSON property `videoTrainingOperationMetadata`
5143
+ # @return [Google::Apis::LanguageV2::XpsVideoTrainingOperationMetadata]
5144
+ attr_accessor :video_training_operation_metadata
5145
+
5146
+ #
5147
+ # Corresponds to the JSON property `visionTrainingOperationMetadata`
5148
+ # @return [Google::Apis::LanguageV2::XpsVisionTrainingOperationMetadata]
5149
+ attr_accessor :vision_training_operation_metadata
5150
+
5151
+ def initialize(**args)
5152
+ update!(**args)
5153
+ end
5154
+
5155
+ # Update properties of this object
5156
+ def update!(**args)
5157
+ @example_count = args[:example_count] if args.key?(:example_count)
5158
+ @reporting_metrics = args[:reporting_metrics] if args.key?(:reporting_metrics)
5159
+ @tables_training_operation_metadata = args[:tables_training_operation_metadata] if args.key?(:tables_training_operation_metadata)
5160
+ @video_batch_predict_operation_metadata = args[:video_batch_predict_operation_metadata] if args.key?(:video_batch_predict_operation_metadata)
5161
+ @video_training_operation_metadata = args[:video_training_operation_metadata] if args.key?(:video_training_operation_metadata)
5162
+ @vision_training_operation_metadata = args[:vision_training_operation_metadata] if args.key?(:vision_training_operation_metadata)
5163
+ end
5164
+ end
5165
+
5166
+ # An explanation method that redistributes Integrated Gradients attributions to
5167
+ # segmented regions, taking advantage of the model's fully differentiable
5168
+ # structure. Refer to this paper for more details: https://arxiv.org/abs/1906.
5169
+ # 02825 Only supports image Models (modality is IMAGE).
5170
+ class XpsXraiAttribution
5171
+ include Google::Apis::Core::Hashable
5172
+
5173
+ # The number of steps for approximating the path integral. A good value to start
5174
+ # is 50 and gradually increase until the sum to diff property is met within the
5175
+ # desired error range. Valid range of its value is [1, 100], inclusively.
5176
+ # Corresponds to the JSON property `stepCount`
5177
+ # @return [Fixnum]
5178
+ attr_accessor :step_count
5179
+
5180
+ def initialize(**args)
5181
+ update!(**args)
5182
+ end
5183
+
5184
+ # Update properties of this object
5185
+ def update!(**args)
5186
+ @step_count = args[:step_count] if args.key?(:step_count)
5187
+ end
5188
+ end
671
5189
  end
672
5190
  end
673
5191
  end