google-apis-language_v2 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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