google-cloud-automl 0.7.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -1
  3. data/AUTHENTICATION.md +56 -59
  4. data/LICENSE.md +201 -0
  5. data/MIGRATING.md +324 -0
  6. data/README.md +97 -27
  7. data/lib/google-cloud-automl.rb +6 -2
  8. data/lib/google/cloud/automl.rb +132 -190
  9. data/lib/google/cloud/automl/version.rb +6 -2
  10. metadata +83 -107
  11. data/LICENSE +0 -201
  12. data/lib/google/cloud/automl/v1beta1.rb +0 -231
  13. data/lib/google/cloud/automl/v1beta1/annotation_payload_pb.rb +0 -34
  14. data/lib/google/cloud/automl/v1beta1/annotation_spec_pb.rb +0 -19
  15. data/lib/google/cloud/automl/v1beta1/automl_client.rb +0 -1909
  16. data/lib/google/cloud/automl/v1beta1/automl_client_config.json +0 -146
  17. data/lib/google/cloud/automl/v1beta1/automl_client_helpers.rb +0 -109
  18. data/lib/google/cloud/automl/v1beta1/classification_pb.rb +0 -66
  19. data/lib/google/cloud/automl/v1beta1/column_spec_pb.rb +0 -29
  20. data/lib/google/cloud/automl/v1beta1/credentials.rb +0 -41
  21. data/lib/google/cloud/automl/v1beta1/data_items_pb.rb +0 -88
  22. data/lib/google/cloud/automl/v1beta1/data_stats_pb.rb +0 -77
  23. data/lib/google/cloud/automl/v1beta1/data_types_pb.rb +0 -36
  24. data/lib/google/cloud/automl/v1beta1/dataset_pb.rb +0 -39
  25. data/lib/google/cloud/automl/v1beta1/detection_pb.rb +0 -52
  26. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/annotation_payload.rb +0 -63
  27. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/annotation_spec.rb +0 -39
  28. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/classification.rb +0 -212
  29. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/column_spec.rb +0 -67
  30. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_items.rb +0 -202
  31. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_stats.rb +0 -160
  32. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_types.rb +0 -99
  33. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/dataset.rb +0 -77
  34. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/detection.rb +0 -130
  35. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/geometry.rb +0 -43
  36. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/image.rb +0 -183
  37. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/io.rb +0 -1110
  38. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/model.rb +0 -88
  39. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/model_evaluation.rb +0 -96
  40. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/prediction_service.rb +0 -186
  41. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/ranges.rb +0 -31
  42. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/regression.rb +0 -41
  43. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/service.rb +0 -356
  44. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/table_spec.rb +0 -68
  45. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/tables.rb +0 -275
  46. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/temporal.rb +0 -33
  47. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text.rb +0 -54
  48. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_extraction.rb +0 -60
  49. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_segment.rb +0 -37
  50. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_sentiment.rb +0 -76
  51. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/translation.rb +0 -63
  52. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/video.rb +0 -35
  53. data/lib/google/cloud/automl/v1beta1/doc/google/longrunning/operations.rb +0 -51
  54. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/any.rb +0 -131
  55. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/duration.rb +0 -91
  56. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/field_mask.rb +0 -222
  57. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/struct.rb +0 -74
  58. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/timestamp.rb +0 -113
  59. data/lib/google/cloud/automl/v1beta1/doc/google/rpc/status.rb +0 -39
  60. data/lib/google/cloud/automl/v1beta1/geometry_pb.rb +0 -21
  61. data/lib/google/cloud/automl/v1beta1/image_pb.rb +0 -50
  62. data/lib/google/cloud/automl/v1beta1/io_pb.rb +0 -80
  63. data/lib/google/cloud/automl/v1beta1/model_evaluation_pb.rb +0 -38
  64. data/lib/google/cloud/automl/v1beta1/model_pb.rb +0 -45
  65. data/lib/google/cloud/automl/v1beta1/operations_pb.rb +0 -90
  66. data/lib/google/cloud/automl/v1beta1/prediction_service_client.rb +0 -480
  67. data/lib/google/cloud/automl/v1beta1/prediction_service_client_config.json +0 -36
  68. data/lib/google/cloud/automl/v1beta1/prediction_service_pb.rb +0 -43
  69. data/lib/google/cloud/automl/v1beta1/prediction_service_services_pb.rb +0 -74
  70. data/lib/google/cloud/automl/v1beta1/ranges_pb.rb +0 -17
  71. data/lib/google/cloud/automl/v1beta1/regression_pb.rb +0 -20
  72. data/lib/google/cloud/automl/v1beta1/service_pb.rb +0 -180
  73. data/lib/google/cloud/automl/v1beta1/service_services_pb.rb +0 -158
  74. data/lib/google/cloud/automl/v1beta1/table_spec_pb.rb +0 -24
  75. data/lib/google/cloud/automl/v1beta1/tables_pb.rb +0 -58
  76. data/lib/google/cloud/automl/v1beta1/temporal_pb.rb +0 -18
  77. data/lib/google/cloud/automl/v1beta1/text_extraction_pb.rb +0 -32
  78. data/lib/google/cloud/automl/v1beta1/text_pb.rb +0 -34
  79. data/lib/google/cloud/automl/v1beta1/text_segment_pb.rb +0 -18
  80. data/lib/google/cloud/automl/v1beta1/text_sentiment_pb.rb +0 -29
  81. data/lib/google/cloud/automl/v1beta1/translation_pb.rb +0 -34
  82. data/lib/google/cloud/automl/v1beta1/video_pb.rb +0 -25
@@ -1,77 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Cloud
18
- module AutoML
19
- module V1beta1
20
- # A workspace for solving a single, particular machine learning (ML) problem.
21
- # A workspace contains examples that may be annotated.
22
- # @!attribute [rw] translation_dataset_metadata
23
- # @return [Google::Cloud::AutoML::V1beta1::TranslationDatasetMetadata]
24
- # Metadata for a dataset used for translation.
25
- # @!attribute [rw] image_classification_dataset_metadata
26
- # @return [Google::Cloud::AutoML::V1beta1::ImageClassificationDatasetMetadata]
27
- # Metadata for a dataset used for image classification.
28
- # @!attribute [rw] text_classification_dataset_metadata
29
- # @return [Google::Cloud::AutoML::V1beta1::TextClassificationDatasetMetadata]
30
- # Metadata for a dataset used for text classification.
31
- # @!attribute [rw] image_object_detection_dataset_metadata
32
- # @return [Google::Cloud::AutoML::V1beta1::ImageObjectDetectionDatasetMetadata]
33
- # Metadata for a dataset used for image object detection.
34
- # @!attribute [rw] video_classification_dataset_metadata
35
- # @return [Google::Cloud::AutoML::V1beta1::VideoClassificationDatasetMetadata]
36
- # Metadata for a dataset used for video classification.
37
- # @!attribute [rw] video_object_tracking_dataset_metadata
38
- # @return [Google::Cloud::AutoML::V1beta1::VideoObjectTrackingDatasetMetadata]
39
- # Metadata for a dataset used for video object tracking.
40
- # @!attribute [rw] text_extraction_dataset_metadata
41
- # @return [Google::Cloud::AutoML::V1beta1::TextExtractionDatasetMetadata]
42
- # Metadata for a dataset used for text extraction.
43
- # @!attribute [rw] text_sentiment_dataset_metadata
44
- # @return [Google::Cloud::AutoML::V1beta1::TextSentimentDatasetMetadata]
45
- # Metadata for a dataset used for text sentiment.
46
- # @!attribute [rw] tables_dataset_metadata
47
- # @return [Google::Cloud::AutoML::V1beta1::TablesDatasetMetadata]
48
- # Metadata for a dataset used for Tables.
49
- # @!attribute [rw] name
50
- # @return [String]
51
- # Output only. The resource name of the dataset.
52
- # Form: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`
53
- # @!attribute [rw] display_name
54
- # @return [String]
55
- # Required. The name of the dataset to show in the interface. The name can be
56
- # up to 32 characters long and can consist only of ASCII Latin letters A-Z
57
- # and a-z, underscores
58
- # (_), and ASCII digits 0-9.
59
- # @!attribute [rw] description
60
- # @return [String]
61
- # User-provided description of the dataset. The description can be up to
62
- # 25000 characters long.
63
- # @!attribute [rw] example_count
64
- # @return [Integer]
65
- # Output only. The number of examples in the dataset.
66
- # @!attribute [rw] create_time
67
- # @return [Google::Protobuf::Timestamp]
68
- # Output only. Timestamp when this dataset was created.
69
- # @!attribute [rw] etag
70
- # @return [String]
71
- # Used to perform consistent read-modify-write updates. If not set, a blind
72
- # "overwrite" update happens.
73
- class Dataset; end
74
- end
75
- end
76
- end
77
- end
@@ -1,130 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Cloud
18
- module AutoML
19
- module V1beta1
20
- # Annotation details for image object detection.
21
- # @!attribute [rw] bounding_box
22
- # @return [Google::Cloud::AutoML::V1beta1::BoundingPoly]
23
- # Output only. The rectangle representing the object location.
24
- # @!attribute [rw] score
25
- # @return [Float]
26
- # Output only. The confidence that this annotation is positive for the parent example,
27
- # value in [0, 1], higher means higher positivity confidence.
28
- class ImageObjectDetectionAnnotation; end
29
-
30
- # Annotation details for video object tracking.
31
- # @!attribute [rw] instance_id
32
- # @return [String]
33
- # Optional. The instance of the object, expressed as a positive integer. Used to tell
34
- # apart objects of the same type (i.e. AnnotationSpec) when multiple are
35
- # present on a single example.
36
- # NOTE: Instance ID prediction quality is not a part of model evaluation and
37
- # is done as best effort. Especially in cases when an entity goes
38
- # off-screen for a longer time (minutes), when it comes back it may be given
39
- # a new instance ID.
40
- # @!attribute [rw] time_offset
41
- # @return [Google::Protobuf::Duration]
42
- # Required. A time (frame) of a video to which this annotation pertains.
43
- # Represented as the duration since the video's start.
44
- # @!attribute [rw] bounding_box
45
- # @return [Google::Cloud::AutoML::V1beta1::BoundingPoly]
46
- # Required. The rectangle representing the object location on the frame (i.e.
47
- # at the time_offset of the video).
48
- # @!attribute [rw] score
49
- # @return [Float]
50
- # Output only. The confidence that this annotation is positive for the video at
51
- # the time_offset, value in [0, 1], higher means higher positivity
52
- # confidence. For annotations created by the user the score is 1. When
53
- # user approves an annotation, the original float score is kept (and not
54
- # changed to 1).
55
- class VideoObjectTrackingAnnotation; end
56
-
57
- # Bounding box matching model metrics for a single intersection-over-union
58
- # threshold and multiple label match confidence thresholds.
59
- # @!attribute [rw] iou_threshold
60
- # @return [Float]
61
- # Output only. The intersection-over-union threshold value used to compute
62
- # this metrics entry.
63
- # @!attribute [rw] mean_average_precision
64
- # @return [Float]
65
- # Output only. The mean average precision, most often close to au_prc.
66
- # @!attribute [rw] confidence_metrics_entries
67
- # @return [Array<Google::Cloud::AutoML::V1beta1::BoundingBoxMetricsEntry::ConfidenceMetricsEntry>]
68
- # Output only. Metrics for each label-match confidence_threshold from
69
- # 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is
70
- # derived from them.
71
- class BoundingBoxMetricsEntry
72
- # Metrics for a single confidence threshold.
73
- # @!attribute [rw] confidence_threshold
74
- # @return [Float]
75
- # Output only. The confidence threshold value used to compute the metrics.
76
- # @!attribute [rw] recall
77
- # @return [Float]
78
- # Output only. Recall under the given confidence threshold.
79
- # @!attribute [rw] precision
80
- # @return [Float]
81
- # Output only. Precision under the given confidence threshold.
82
- # @!attribute [rw] f1_score
83
- # @return [Float]
84
- # Output only. The harmonic mean of recall and precision.
85
- class ConfidenceMetricsEntry; end
86
- end
87
-
88
- # Model evaluation metrics for image object detection problems.
89
- # Evaluates prediction quality of labeled bounding boxes.
90
- # @!attribute [rw] evaluated_bounding_box_count
91
- # @return [Integer]
92
- # Output only. The total number of bounding boxes (i.e. summed over all
93
- # images) the ground truth used to create this evaluation had.
94
- # @!attribute [rw] bounding_box_metrics_entries
95
- # @return [Array<Google::Cloud::AutoML::V1beta1::BoundingBoxMetricsEntry>]
96
- # Output only. The bounding boxes match metrics for each
97
- # Intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99
98
- # and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99
99
- # pair.
100
- # @!attribute [rw] bounding_box_mean_average_precision
101
- # @return [Float]
102
- # Output only. The single metric for bounding boxes evaluation:
103
- # the mean_average_precision averaged over all bounding_box_metrics_entries.
104
- class ImageObjectDetectionEvaluationMetrics; end
105
-
106
- # Model evaluation metrics for video object tracking problems.
107
- # Evaluates prediction quality of both labeled bounding boxes and labeled
108
- # tracks (i.e. series of bounding boxes sharing same label and instance ID).
109
- # @!attribute [rw] evaluated_frame_count
110
- # @return [Integer]
111
- # Output only. The number of video frames used to create this evaluation.
112
- # @!attribute [rw] evaluated_bounding_box_count
113
- # @return [Integer]
114
- # Output only. The total number of bounding boxes (i.e. summed over all
115
- # frames) the ground truth used to create this evaluation had.
116
- # @!attribute [rw] bounding_box_metrics_entries
117
- # @return [Array<Google::Cloud::AutoML::V1beta1::BoundingBoxMetricsEntry>]
118
- # Output only. The bounding boxes match metrics for each
119
- # Intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99
120
- # and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99
121
- # pair.
122
- # @!attribute [rw] bounding_box_mean_average_precision
123
- # @return [Float]
124
- # Output only. The single metric for bounding boxes evaluation:
125
- # the mean_average_precision averaged over all bounding_box_metrics_entries.
126
- class VideoObjectTrackingEvaluationMetrics; end
127
- end
128
- end
129
- end
130
- end
@@ -1,43 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Cloud
18
- module AutoML
19
- module V1beta1
20
- # A vertex represents a 2D point in the image.
21
- # The normalized vertex coordinates are between 0 to 1 fractions relative to
22
- # the original plane (image, video). E.g. if the plane (e.g. whole image) would
23
- # have size 10 x 20 then a point with normalized coordinates (0.1, 0.3) would
24
- # be at the position (1, 6) on that plane.
25
- # @!attribute [rw] x
26
- # @return [Float]
27
- # Required. Horizontal coordinate.
28
- # @!attribute [rw] y
29
- # @return [Float]
30
- # Required. Vertical coordinate.
31
- class NormalizedVertex; end
32
-
33
- # A bounding polygon of a detected object on a plane.
34
- # On output both vertices and normalized_vertices are provided.
35
- # The polygon is formed by connecting vertices in the order they are listed.
36
- # @!attribute [rw] normalized_vertices
37
- # @return [Array<Google::Cloud::AutoML::V1beta1::NormalizedVertex>]
38
- # Output only . The bounding polygon normalized vertices.
39
- class BoundingPoly; end
40
- end
41
- end
42
- end
43
- end
@@ -1,183 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Cloud
18
- module AutoML
19
- module V1beta1
20
- # Dataset metadata that is specific to image classification.
21
- # @!attribute [rw] classification_type
22
- # @return [Google::Cloud::AutoML::V1beta1::ClassificationType]
23
- # Required. Type of the classification problem.
24
- class ImageClassificationDatasetMetadata; end
25
-
26
- # Dataset metadata specific to image object detection.
27
- class ImageObjectDetectionDatasetMetadata; end
28
-
29
- # Model metadata for image classification.
30
- # @!attribute [rw] base_model_id
31
- # @return [String]
32
- # Optional. The ID of the `base` model. If it is specified, the new model
33
- # will be created based on the `base` model. Otherwise, the new model will be
34
- # created from scratch. The `base` model must be in the same
35
- # `project` and `location` as the new model to create, and have the same
36
- # `model_type`.
37
- # @!attribute [rw] train_budget
38
- # @return [Integer]
39
- # Required. The train budget of creating this model, expressed in hours. The
40
- # actual `train_cost` will be equal or less than this value.
41
- # @!attribute [rw] train_cost
42
- # @return [Integer]
43
- # Output only. The actual train cost of creating this model, expressed in
44
- # hours. If this model is created from a `base` model, the train cost used
45
- # to create the `base` model are not included.
46
- # @!attribute [rw] stop_reason
47
- # @return [String]
48
- # Output only. The reason that this create model operation stopped,
49
- # e.g. `BUDGET_REACHED`, `MODEL_CONVERGED`.
50
- # @!attribute [rw] model_type
51
- # @return [String]
52
- # Optional. Type of the model. The available values are:
53
- # * `cloud` - Model to be used via prediction calls to AutoML API.
54
- # This is the default value.
55
- # * `mobile-low-latency-1` - A model that, in addition to providing
56
- # prediction via AutoML API, can also be exported (see
57
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile or edge device
58
- # with TensorFlow afterwards. Expected to have low latency, but
59
- # may have lower prediction quality than other models.
60
- # * `mobile-versatile-1` - A model that, in addition to providing
61
- # prediction via AutoML API, can also be exported (see
62
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile or edge device
63
- # with TensorFlow afterwards.
64
- # * `mobile-high-accuracy-1` - A model that, in addition to providing
65
- # prediction via AutoML API, can also be exported (see
66
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile or edge device
67
- # with TensorFlow afterwards. Expected to have a higher
68
- # latency, but should also have a higher prediction quality
69
- # than other models.
70
- # * `mobile-core-ml-low-latency-1` - A model that, in addition to providing
71
- # prediction via AutoML API, can also be exported (see
72
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile device with Core
73
- # ML afterwards. Expected to have low latency, but may have
74
- # lower prediction quality than other models.
75
- # * `mobile-core-ml-versatile-1` - A model that, in addition to providing
76
- # prediction via AutoML API, can also be exported (see
77
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile device with Core
78
- # ML afterwards.
79
- # * `mobile-core-ml-high-accuracy-1` - A model that, in addition to
80
- # providing prediction via AutoML API, can also be exported
81
- # (see {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile device with
82
- # Core ML afterwards. Expected to have a higher latency, but
83
- # should also have a higher prediction quality than other
84
- # models.
85
- # @!attribute [rw] node_qps
86
- # @return [Float]
87
- # Output only. An approximate number of online prediction QPS that can
88
- # be supported by this model per each node on which it is deployed.
89
- # @!attribute [rw] node_count
90
- # @return [Integer]
91
- # Output only. The number of nodes this model is deployed on. A node is an
92
- # abstraction of a machine resource, which can handle online prediction QPS
93
- # as given in the node_qps field.
94
- class ImageClassificationModelMetadata; end
95
-
96
- # Model metadata specific to image object detection.
97
- # @!attribute [rw] model_type
98
- # @return [String]
99
- # Optional. Type of the model. The available values are:
100
- # * `cloud-high-accuracy-1` - (default) A model to be used via prediction
101
- # calls to AutoML API. Expected to have a higher latency, but
102
- # should also have a higher prediction quality than other
103
- # models.
104
- # * `cloud-low-latency-1` - A model to be used via prediction
105
- # calls to AutoML API. Expected to have low latency, but may
106
- # have lower prediction quality than other models.
107
- # * `mobile-low-latency-1` - A model that, in addition to providing
108
- # prediction via AutoML API, can also be exported (see
109
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile or edge device
110
- # with TensorFlow afterwards. Expected to have low latency, but
111
- # may have lower prediction quality than other models.
112
- # * `mobile-versatile-1` - A model that, in addition to providing
113
- # prediction via AutoML API, can also be exported (see
114
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile or edge device
115
- # with TensorFlow afterwards.
116
- # * `mobile-high-accuracy-1` - A model that, in addition to providing
117
- # prediction via AutoML API, can also be exported (see
118
- # {Google::Cloud::AutoML::V1beta1::AutoML::ExportModel AutoML::ExportModel}) and used on a mobile or edge device
119
- # with TensorFlow afterwards. Expected to have a higher
120
- # latency, but should also have a higher prediction quality
121
- # than other models.
122
- # @!attribute [rw] node_count
123
- # @return [Integer]
124
- # Output only. The number of nodes this model is deployed on. A node is an
125
- # abstraction of a machine resource, which can handle online prediction QPS
126
- # as given in the qps_per_node field.
127
- # @!attribute [rw] node_qps
128
- # @return [Float]
129
- # Output only. An approximate number of online prediction QPS that can
130
- # be supported by this model per each node on which it is deployed.
131
- # @!attribute [rw] stop_reason
132
- # @return [String]
133
- # Output only. The reason that this create model operation stopped,
134
- # e.g. `BUDGET_REACHED`, `MODEL_CONVERGED`.
135
- # @!attribute [rw] train_budget_milli_node_hours
136
- # @return [Integer]
137
- # The train budget of creating this model, expressed in milli node
138
- # hours i.e. 1,000 value in this field means 1 node hour. The actual
139
- # `train_cost` will be equal or less than this value. If further model
140
- # training ceases to provide any improvements, it will stop without using
141
- # full budget and the stop_reason will be `MODEL_CONVERGED`.
142
- # Note, node_hour = actual_hour * number_of_nodes_invovled.
143
- # For model type `cloud-high-accuracy-1`(default) and `cloud-low-latency-1`,
144
- # the train budget must be between 20,000 and 900,000 milli node hours,
145
- # inclusive. The default value is 216, 000 which represents one day in
146
- # wall time.
147
- # For model type `mobile-low-latency-1`, `mobile-versatile-1`,
148
- # `mobile-high-accuracy-1`, `mobile-core-ml-low-latency-1`,
149
- # `mobile-core-ml-versatile-1`, `mobile-core-ml-high-accuracy-1`, the train
150
- # budget must be between 1,000 and 100,000 milli node hours, inclusive.
151
- # The default value is 24, 000 which represents one day in wall time.
152
- # @!attribute [rw] train_cost_milli_node_hours
153
- # @return [Integer]
154
- # Output only. The actual train cost of creating this model, expressed in
155
- # milli node hours, i.e. 1,000 value in this field means 1 node hour.
156
- # Guaranteed to not exceed the train budget.
157
- class ImageObjectDetectionModelMetadata; end
158
-
159
- # Model deployment metadata specific to Image Classification.
160
- # @!attribute [rw] node_count
161
- # @return [Integer]
162
- # Input only. The number of nodes to deploy the model on. A node is an
163
- # abstraction of a machine resource, which can handle online prediction QPS
164
- # as given in the model's
165
- #
166
- # {Google::Cloud::AutoML::V1beta1::ImageClassificationModelMetadata#node_qps node_qps}.
167
- # Must be between 1 and 100, inclusive on both ends.
168
- class ImageClassificationModelDeploymentMetadata; end
169
-
170
- # Model deployment metadata specific to Image Object Detection.
171
- # @!attribute [rw] node_count
172
- # @return [Integer]
173
- # Input only. The number of nodes to deploy the model on. A node is an
174
- # abstraction of a machine resource, which can handle online prediction QPS
175
- # as given in the model's
176
- #
177
- # {Google::Cloud::AutoML::V1beta1::ImageObjectDetectionModelMetadata#qps_per_node qps_per_node}.
178
- # Must be between 1 and 100, inclusive on both ends.
179
- class ImageObjectDetectionModelDeploymentMetadata; end
180
- end
181
- end
182
- end
183
- end
@@ -1,1110 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Cloud
18
- module AutoML
19
- module V1beta1
20
- # Input configuration for ImportData Action.
21
- #
22
- # The format of input depends on dataset_metadata the Dataset into which
23
- # the import is happening has. As input source the
24
- # {Google::Cloud::AutoML::V1beta1::InputConfig#gcs_source gcs_source}
25
- # is expected, unless specified otherwise. Additionally any input .CSV file
26
- # by itself must be 100MB or smaller, unless specified otherwise.
27
- # If an "example" file (that is, image, video etc.) with identical content
28
- # (even if it had different GCS_FILE_PATH) is mentioned multiple times, then
29
- # its label, bounding boxes etc. are appended. The same file should be always
30
- # provided with the same ML_USE and GCS_FILE_PATH, if it is not, then
31
- # these values are nondeterministically selected from the given ones.
32
- #
33
- # The formats are represented in EBNF with commas being literal and with
34
- # non-terminal symbols defined near the end of this comment. The formats are:
35
- #
36
- # * For Image Classification:
37
- # CSV file(s) with each line in format:
38
- # ML_USE,GCS_FILE_PATH,LABEL,LABEL,...
39
- # GCS_FILE_PATH leads to image of up to 30MB in size. Supported
40
- # extensions: .JPEG, .GIF, .PNG, .WEBP, .BMP, .TIFF, .ICO
41
- # For MULTICLASS classification type, at most one LABEL is allowed
42
- # per image. If an image has not yet been labeled, then it should be
43
- # mentioned just once with no LABEL.
44
- # Some sample rows:
45
- # TRAIN,gs://folder/image1.jpg,daisy
46
- # TEST,gs://folder/image2.jpg,dandelion,tulip,rose
47
- # UNASSIGNED,gs://folder/image3.jpg,daisy
48
- # UNASSIGNED,gs://folder/image4.jpg
49
- #
50
- # * For Image Object Detection:
51
- # CSV file(s) with each line in format:
52
- # ML_USE,GCS_FILE_PATH,(LABEL,BOUNDING_BOX | ,,,,,,,)
53
- # GCS_FILE_PATH leads to image of up to 30MB in size. Supported
54
- # extensions: .JPEG, .GIF, .PNG.
55
- # Each image is assumed to be exhaustively labeled. The minimum
56
- # allowed BOUNDING_BOX edge length is 0.01, and no more than 500
57
- # BOUNDING_BOX-es per image are allowed (one BOUNDING_BOX is defined
58
- # per line). If an image has not yet been labeled, then it should be
59
- # mentioned just once with no LABEL and the ",,,,,,," in place of the
60
- # BOUNDING_BOX. For images which are known to not contain any
61
- # bounding boxes, they should be labelled explictly as
62
- # "NEGATIVE_IMAGE", followed by ",,,,,,," in place of the
63
- # BOUNDING_BOX.
64
- # Sample rows:
65
- # TRAIN,gs://folder/image1.png,car,0.1,0.1,,,0.3,0.3,,
66
- # TRAIN,gs://folder/image1.png,bike,.7,.6,,,.8,.9,,
67
- # UNASSIGNED,gs://folder/im2.png,car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3
68
- # TEST,gs://folder/im3.png,,,,,,,,,
69
- # TRAIN,gs://folder/im4.png,NEGATIVE_IMAGE,,,,,,,,,
70
- #
71
- # * For Video Classification:
72
- # CSV file(s) with each line in format:
73
- # ML_USE,GCS_FILE_PATH
74
- # where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
75
- # should lead to another .csv file which describes examples that have
76
- # given ML_USE, using the following row format:
77
- # GCS_FILE_PATH,(LABEL,TIME_SEGMENT_START,TIME_SEGMENT_END | ,,)
78
- # Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
79
- # to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
80
- # TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
81
- # length of the video, and end has to be after the start. Any segment
82
- # of a video which has one or more labels on it, is considered a
83
- # hard negative for all other labels. Any segment with no labels on
84
- # it is considered to be unknown. If a whole video is unknown, then
85
- # it shuold be mentioned just once with ",," in place of LABEL,
86
- # TIME_SEGMENT_START,TIME_SEGMENT_END.
87
- # Sample top level CSV file:
88
- # TRAIN,gs://folder/train_videos.csv
89
- # TEST,gs://folder/test_videos.csv
90
- # UNASSIGNED,gs://folder/other_videos.csv
91
- # Sample rows of a CSV file for a particular ML_USE:
92
- # gs://folder/video1.avi,car,120,180.000021
93
- # gs://folder/video1.avi,bike,150,180.000021
94
- # gs://folder/vid2.avi,car,0,60.5
95
- # gs://folder/vid3.avi,,,
96
- #
97
- # * For Video Object Tracking:
98
- # CSV file(s) with each line in format:
99
- # ML_USE,GCS_FILE_PATH
100
- # where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
101
- # should lead to another .csv file which describes examples that have
102
- # given ML_USE, using one of the following row format:
103
- # GCS_FILE_PATH,LABEL,[INSTANCE_ID],TIMESTAMP,BOUNDING_BOX
104
- # or
105
- # GCS_FILE_PATH,,,,,,,,,,
106
- # Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
107
- # to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
108
- # Providing INSTANCE_IDs can help to obtain a better model. When
109
- # a specific labeled entity leaves the video frame, and shows up
110
- # afterwards it is not required, albeit preferable, that the same
111
- # INSTANCE_ID is given to it.
112
- # TIMESTAMP must be within the length of the video, the
113
- # BOUNDING_BOX is assumed to be drawn on the closest video's frame
114
- # to the TIMESTAMP. Any mentioned by the TIMESTAMP frame is expected
115
- # to be exhaustively labeled and no more than 500 BOUNDING_BOX-es per
116
- # frame are allowed. If a whole video is unknown, then it should be
117
- # mentioned just once with ",,,,,,,,,," in place of LABEL,
118
- # [INSTANCE_ID],TIMESTAMP,BOUNDING_BOX.
119
- # Sample top level CSV file:
120
- # TRAIN,gs://folder/train_videos.csv
121
- # TEST,gs://folder/test_videos.csv
122
- # UNASSIGNED,gs://folder/other_videos.csv
123
- # Seven sample rows of a CSV file for a particular ML_USE:
124
- # gs://folder/video1.avi,car,1,12.10,0.8,0.8,0.9,0.8,0.9,0.9,0.8,0.9
125
- # gs://folder/video1.avi,car,1,12.90,0.4,0.8,0.5,0.8,0.5,0.9,0.4,0.9
126
- # gs://folder/video1.avi,car,2,12.10,.4,.2,.5,.2,.5,.3,.4,.3
127
- # gs://folder/video1.avi,car,2,12.90,.8,.2,,,.9,.3,,
128
- # gs://folder/video1.avi,bike,,12.50,.45,.45,,,.55,.55,,
129
- # gs://folder/video2.avi,car,1,0,.1,.9,,,.9,.1,,
130
- # gs://folder/video2.avi,,,,,,,,,,,
131
- # * For Text Extraction:
132
- # CSV file(s) with each line in format:
133
- # ML_USE,GCS_FILE_PATH
134
- # GCS_FILE_PATH leads to a .JSONL (that is, JSON Lines) file which
135
- # either imports text in-line or as documents. Any given
136
- # .JSONL file must be 100MB or smaller.
137
- # The in-line .JSONL file contains, per line, a proto that wraps a
138
- # TextSnippet proto (in json representation) followed by one or more
139
- # AnnotationPayload protos (called annotations), which have
140
- # display_name and text_extraction detail populated. The given text
141
- # is expected to be annotated exhaustively, for example, if you look
142
- # for animals and text contains "dolphin" that is not labeled, then
143
- # "dolphin" is assumed to not be an animal. Any given text snippet
144
- # content must be 10KB or smaller, and also be UTF-8 NFC encoded
145
- # (ASCII already is).
146
- # The document .JSONL file contains, per line, a proto that wraps a
147
- # Document proto. The Document proto must have either document_text
148
- # or input_config set. In document_text case, the Document proto may
149
- # also contain the spatial information of the document, including
150
- # layout, document dimension and page number. In input_config case,
151
- # only PDF documents are supported now, and each document may be up
152
- # to 2MB large. Currently, annotations on documents cannot be
153
- # specified at import.
154
- # Three sample CSV rows:
155
- # TRAIN,gs://folder/file1.jsonl
156
- # VALIDATE,gs://folder/file2.jsonl
157
- # TEST,gs://folder/file3.jsonl
158
- # Sample in-line JSON Lines file for entity extraction (presented here
159
- # with artificial line breaks, but the only actual line break is
160
- # denoted by \n).:
161
- # {
162
- # "document": {
163
- # "document_text": {"content": "dog cat"}
164
- # "layout": [
165
- # {
166
- # "text_segment": {
167
- # "start_offset": 0,
168
- # "end_offset": 3,
169
- # },
170
- # "page_number": 1,
171
- # "bounding_poly": {
172
- # "normalized_vertices": [
173
- # {"x": 0.1, "y": 0.1},
174
- # {"x": 0.1, "y": 0.3},
175
- # {"x": 0.3, "y": 0.3},
176
- # {"x": 0.3, "y": 0.1},
177
- # ],
178
- # },
179
- # "text_segment_type": TOKEN,
180
- # },
181
- # {
182
- # "text_segment": {
183
- # "start_offset": 4,
184
- # "end_offset": 7,
185
- # },
186
- # "page_number": 1,
187
- # "bounding_poly": {
188
- # "normalized_vertices": [
189
- # {"x": 0.4, "y": 0.1},
190
- # {"x": 0.4, "y": 0.3},
191
- # {"x": 0.8, "y": 0.3},
192
- # {"x": 0.8, "y": 0.1},
193
- # ],
194
- # },
195
- # "text_segment_type": TOKEN,
196
- # }
197
- #
198
- # ],
199
- # "document_dimensions": {
200
- # "width": 8.27,
201
- # "height": 11.69,
202
- # "unit": INCH,
203
- # }
204
- # "page_count": 1,
205
- # },
206
- # "annotations": [
207
- # {
208
- # "display_name": "animal",
209
- # "text_extraction": {"text_segment": {"start_offset": 0,
210
- # "end_offset": 3}}
211
- # },
212
- # {
213
- # "display_name": "animal",
214
- # "text_extraction": {"text_segment": {"start_offset": 4,
215
- # "end_offset": 7}}
216
- # }
217
- # ],
218
- # }\n
219
- # {
220
- # "text_snippet": {
221
- # "content": "This dog is good."
222
- # },
223
- # "annotations": [
224
- # {
225
- # "display_name": "animal",
226
- # "text_extraction": {
227
- # "text_segment": {"start_offset": 5, "end_offset": 8}
228
- # }
229
- # }
230
- # ]
231
- # }
232
- # Sample document JSON Lines file (presented here with artificial line
233
- # breaks, but the only actual line break is denoted by \n).:
234
- # {
235
- # "document": {
236
- # "input_config": {
237
- # "gcs_source": { "input_uris": [ "gs://folder/document1.pdf" ]
238
- # }
239
- # }
240
- # }
241
- # }\n
242
- # {
243
- # "document": {
244
- # "input_config": {
245
- # "gcs_source": { "input_uris": [ "gs://folder/document2.pdf" ]
246
- # }
247
- # }
248
- # }
249
- # }
250
- #
251
- # * For Text Classification:
252
- # CSV file(s) with each line in format:
253
- # ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),LABEL,LABEL,...
254
- # TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
255
- # the column content is a valid gcs file path, i.e. prefixed by
256
- # "gs://", it will be treated as a GCS_FILE_PATH, else if the content
257
- # is enclosed within double quotes (""), it is
258
- # treated as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
259
- # must lead to a .txt file with UTF-8 encoding, for example,
260
- # "gs://folder/content.txt", and the content in it is extracted
261
- # as a text snippet. In TEXT_SNIPPET case, the column content
262
- # excluding quotes is treated as to be imported text snippet. In
263
- # both cases, the text snippet/file size must be within 128kB.
264
- # Maximum 100 unique labels are allowed per CSV row.
265
- # Sample rows:
266
- # TRAIN,"They have bad food and very rude",RudeService,BadFood
267
- # TRAIN,gs://folder/content.txt,SlowService
268
- # TEST,"Typically always bad service there.",RudeService
269
- # VALIDATE,"Stomach ache to go.",BadFood
270
- #
271
- # * For Text Sentiment:
272
- # CSV file(s) with each line in format:
273
- # ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),SENTIMENT
274
- # TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
275
- # the column content is a valid gcs file path, that is, prefixed by
276
- # "gs://", it is treated as a GCS_FILE_PATH, otherwise it is treated
277
- # as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
278
- # must lead to a .txt file with UTF-8 encoding, for example,
279
- # "gs://folder/content.txt", and the content in it is extracted
280
- # as a text snippet. In TEXT_SNIPPET case, the column content itself
281
- # is treated as to be imported text snippet. In both cases, the
282
- # text snippet must be up to 500 characters long.
283
- # Sample rows:
284
- # TRAIN,"@freewrytin this is way too good for your product",2
285
- # TRAIN,"I need this product so bad",3
286
- # TEST,"Thank you for this product.",4
287
- # VALIDATE,gs://folder/content.txt,2
288
- #
289
- # * For Tables:
290
- # Either
291
- # {Google::Cloud::AutoML::V1beta1::InputConfig#gcs_source gcs_source} or
292
- #
293
- # {Google::Cloud::AutoML::V1beta1::InputConfig#bigquery_source bigquery_source}
294
- # can be used. All inputs is concatenated into a single
295
- #
296
- # {Google::Cloud::AutoML::V1beta1::TablesDatasetMetadata#primary_table_name primary_table}
297
- # For gcs_source:
298
- # CSV file(s), where the first row of the first file is the header,
299
- # containing unique column names. If the first row of a subsequent
300
- # file is the same as the header, then it is also treated as a
301
- # header. All other rows contain values for the corresponding
302
- # columns.
303
- # Each .CSV file by itself must be 10GB or smaller, and their total
304
- # size must be 100GB or smaller.
305
- # First three sample rows of a CSV file:
306
- # "Id","First Name","Last Name","Dob","Addresses"
307
- #
308
- # "1","John","Doe","1968-01-22","[{"status":"current","address":"123_First_Avenue","city":"Seattle","state":"WA","zip":"11111","numberOfYears":"1"},{"status":"previous","address":"456_Main_Street","city":"Portland","state":"OR","zip":"22222","numberOfYears":"5"}]"
309
- #
310
- # "2","Jane","Doe","1980-10-16","[{"status":"current","address":"789_Any_Avenue","city":"Albany","state":"NY","zip":"33333","numberOfYears":"2"},{"status":"previous","address":"321_Main_Street","city":"Hoboken","state":"NJ","zip":"44444","numberOfYears":"3"}]}
311
- # For bigquery_source:
312
- # An URI of a BigQuery table. The user data size of the BigQuery
313
- # table must be 100GB or smaller.
314
- # An imported table must have between 2 and 1,000 columns, inclusive,
315
- # and between 1000 and 100,000,000 rows, inclusive. There are at most 5
316
- # import data running in parallel.
317
- # Definitions:
318
- # ML_USE = "TRAIN" | "VALIDATE" | "TEST" | "UNASSIGNED"
319
- # Describes how the given example (file) should be used for model
320
- # training. "UNASSIGNED" can be used when user has no preference.
321
- # GCS_FILE_PATH = A path to file on GCS, e.g. "gs://folder/image1.png".
322
- # LABEL = A display name of an object on an image, video etc., e.g. "dog".
323
- # Must be up to 32 characters long and can consist only of ASCII
324
- # Latin letters A-Z and a-z, underscores(_), and ASCII digits 0-9.
325
- # For each label an AnnotationSpec is created which display_name
326
- # becomes the label; AnnotationSpecs are given back in predictions.
327
- # INSTANCE_ID = A positive integer that identifies a specific instance of a
328
- # labeled entity on an example. Used e.g. to track two cars on
329
- # a video while being able to tell apart which one is which.
330
- # BOUNDING_BOX = VERTEX,VERTEX,VERTEX,VERTEX | VERTEX,,,VERTEX,,
331
- # A rectangle parallel to the frame of the example (image,
332
- # video). If 4 vertices are given they are connected by edges
333
- # in the order provided, if 2 are given they are recognized
334
- # as diagonally opposite vertices of the rectangle.
335
- # VERTEX = COORDINATE,COORDINATE
336
- # First coordinate is horizontal (x), the second is vertical (y).
337
- # COORDINATE = A float in 0 to 1 range, relative to total length of
338
- # image or video in given dimension. For fractions the
339
- # leading non-decimal 0 can be omitted (i.e. 0.3 = .3).
340
- # Point 0,0 is in top left.
341
- # TIME_SEGMENT_START = TIME_OFFSET
342
- # Expresses a beginning, inclusive, of a time segment
343
- # within an example that has a time dimension
344
- # (e.g. video).
345
- # TIME_SEGMENT_END = TIME_OFFSET
346
- # Expresses an end, exclusive, of a time segment within
347
- # an example that has a time dimension (e.g. video).
348
- # TIME_OFFSET = A number of seconds as measured from the start of an
349
- # example (e.g. video). Fractions are allowed, up to a
350
- # microsecond precision. "inf" is allowed, and it means the end
351
- # of the example.
352
- # TEXT_SNIPPET = A content of a text snippet, UTF-8 encoded, enclosed within
353
- # double quotes ("").
354
- # SENTIMENT = An integer between 0 and
355
- # Dataset.text_sentiment_dataset_metadata.sentiment_max
356
- # (inclusive). Describes the ordinal of the sentiment - higher
357
- # value means a more positive sentiment. All the values are
358
- # completely relative, i.e. neither 0 needs to mean a negative or
359
- # neutral sentiment nor sentiment_max needs to mean a positive one
360
- # * it is just required that 0 is the least positive sentiment
361
- # in the data, and sentiment_max is the most positive one.
362
- # The SENTIMENT shouldn't be confused with "score" or "magnitude"
363
- # from the previous Natural Language Sentiment Analysis API.
364
- # All SENTIMENT values between 0 and sentiment_max must be
365
- # represented in the imported data. On prediction the same 0 to
366
- # sentiment_max range will be used. The difference between
367
- # neighboring sentiment values needs not to be uniform, e.g. 1 and
368
- # 2 may be similar whereas the difference between 2 and 3 may be
369
- # huge.
370
- #
371
- # Errors:
372
- # If any of the provided CSV files can't be parsed or if more than certain
373
- # percent of CSV rows cannot be processed then the operation fails and
374
- # nothing is imported. Regardless of overall success or failure the per-row
375
- # failures, up to a certain count cap, is listed in
376
- # Operation.metadata.partial_failures.
377
- # @!attribute [rw] gcs_source
378
- # @return [Google::Cloud::AutoML::V1beta1::GcsSource]
379
- # The Google Cloud Storage location for the input content.
380
- # In ImportData, the gcs_source points to a csv with structure described in
381
- # the comment.
382
- # @!attribute [rw] bigquery_source
383
- # @return [Google::Cloud::AutoML::V1beta1::BigQuerySource]
384
- # The BigQuery location for the input content.
385
- # @!attribute [rw] params
386
- # @return [Hash{String => String}]
387
- # Additional domain-specific parameters describing the semantic of the
388
- # imported data, any string must be up to 25000
389
- # characters long.
390
- #
391
- # * For Tables:
392
- # `schema_inference_version` - (integer) Required. The version of the
393
- # algorithm that should be used for the initial inference of the
394
- # schema (columns' DataTypes) of the table the data is being imported
395
- # into. Allowed values: "1".
396
- class InputConfig; end
397
-
398
- # Input configuration for BatchPredict Action.
399
- #
400
- # The format of input depends on the ML problem of the model used for
401
- # prediction. As input source the
402
- # {Google::Cloud::AutoML::V1beta1::InputConfig#gcs_source gcs_source}
403
- # is expected, unless specified otherwise.
404
- #
405
- # The formats are represented in EBNF with commas being literal and with
406
- # non-terminal symbols defined near the end of this comment. The formats
407
- # are:
408
- #
409
- # * For Image Classification:
410
- # CSV file(s) with each line having just a single column:
411
- # GCS_FILE_PATH
412
- # which leads to image of up to 30MB in size. Supported
413
- # extensions: .JPEG, .GIF, .PNG. This path is treated as the ID in
414
- # the Batch predict output.
415
- # Three sample rows:
416
- # gs://folder/image1.jpeg
417
- # gs://folder/image2.gif
418
- # gs://folder/image3.png
419
- #
420
- # * For Image Object Detection:
421
- # CSV file(s) with each line having just a single column:
422
- # GCS_FILE_PATH
423
- # which leads to image of up to 30MB in size. Supported
424
- # extensions: .JPEG, .GIF, .PNG. This path is treated as the ID in
425
- # the Batch predict output.
426
- # Three sample rows:
427
- # gs://folder/image1.jpeg
428
- # gs://folder/image2.gif
429
- # gs://folder/image3.png
430
- # * For Video Classification:
431
- # CSV file(s) with each line in format:
432
- # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END
433
- # GCS_FILE_PATH leads to video of up to 50GB in size and up to 3h
434
- # duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
435
- # TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
436
- # length of the video, and end has to be after the start.
437
- # Three sample rows:
438
- # gs://folder/video1.mp4,10,40
439
- # gs://folder/video1.mp4,20,60
440
- # gs://folder/vid2.mov,0,inf
441
- #
442
- # * For Video Object Tracking:
443
- # CSV file(s) with each line in format:
444
- # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END
445
- # GCS_FILE_PATH leads to video of up to 50GB in size and up to 3h
446
- # duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
447
- # TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
448
- # length of the video, and end has to be after the start.
449
- # Three sample rows:
450
- # gs://folder/video1.mp4,10,240
451
- # gs://folder/video1.mp4,300,360
452
- # gs://folder/vid2.mov,0,inf
453
- # * For Text Classification:
454
- # CSV file(s) with each line having just a single column:
455
- # GCS_FILE_PATH | TEXT_SNIPPET
456
- # Any given text file can have size upto 128kB.
457
- # Any given text snippet content must have 60,000 characters or less.
458
- # Three sample rows:
459
- # gs://folder/text1.txt
460
- # "Some text content to predict"
461
- # gs://folder/text3.pdf
462
- # Supported file extensions: .txt, .pdf
463
- #
464
- # * For Text Sentiment:
465
- # CSV file(s) with each line having just a single column:
466
- # GCS_FILE_PATH | TEXT_SNIPPET
467
- # Any given text file can have size upto 128kB.
468
- # Any given text snippet content must have 500 characters or less.
469
- # Three sample rows:
470
- # gs://folder/text1.txt
471
- # "Some text content to predict"
472
- # gs://folder/text3.pdf
473
- # Supported file extensions: .txt, .pdf
474
- #
475
- # * For Text Extraction
476
- # .JSONL (i.e. JSON Lines) file(s) which either provide text in-line or
477
- # as documents (for a single BatchPredict call only one of the these
478
- # formats may be used).
479
- # The in-line .JSONL file(s) contain per line a proto that
480
- # wraps a temporary user-assigned TextSnippet ID (string up to 2000
481
- # characters long) called "id", a TextSnippet proto (in
482
- # json representation) and zero or more TextFeature protos. Any given
483
- # text snippet content must have 30,000 characters or less, and also
484
- # be UTF-8 NFC encoded (ASCII already is). The IDs provided should be
485
- # unique.
486
- # The document .JSONL file(s) contain, per line, a proto that wraps a
487
- # Document proto with input_config set. Only PDF documents are
488
- # supported now, and each document must be up to 2MB large.
489
- # Any given .JSONL file must be 100MB or smaller, and no more than 20
490
- # files may be given.
491
- # Sample in-line JSON Lines file (presented here with artificial line
492
- # breaks, but the only actual line break is denoted by \n):
493
- # {
494
- # "id": "my_first_id",
495
- # "text_snippet": { "content": "dog car cat"},
496
- # "text_features": [
497
- # {
498
- # "text_segment": {"start_offset": 4, "end_offset": 6},
499
- # "structural_type": PARAGRAPH,
500
- # "bounding_poly": {
501
- # "normalized_vertices": [
502
- # {"x": 0.1, "y": 0.1},
503
- # {"x": 0.1, "y": 0.3},
504
- # {"x": 0.3, "y": 0.3},
505
- # {"x": 0.3, "y": 0.1},
506
- # ]
507
- # },
508
- # }
509
- # ],
510
- # }\n
511
- # {
512
- # "id": "2",
513
- # "text_snippet": {
514
- # "content": "An elaborate content",
515
- # "mime_type": "text/plain"
516
- # }
517
- # }
518
- # Sample document JSON Lines file (presented here with artificial line
519
- # breaks, but the only actual line break is denoted by \n).:
520
- # {
521
- # "document": {
522
- # "input_config": {
523
- # "gcs_source": { "input_uris": [ "gs://folder/document1.pdf" ]
524
- # }
525
- # }
526
- # }
527
- # }\n
528
- # {
529
- # "document": {
530
- # "input_config": {
531
- # "gcs_source": { "input_uris": [ "gs://folder/document2.pdf" ]
532
- # }
533
- # }
534
- # }
535
- # }
536
- #
537
- # * For Tables:
538
- # Either
539
- # {Google::Cloud::AutoML::V1beta1::InputConfig#gcs_source gcs_source} or
540
- #
541
- # {Google::Cloud::AutoML::V1beta1::InputConfig#bigquery_source bigquery_source}.
542
- # GCS case:
543
- # CSV file(s), each by itself 10GB or smaller and total size must be
544
- # 100GB or smaller, where first file must have a header containing
545
- # column names. If the first row of a subsequent file is the same as
546
- # the header, then it is also treated as a header. All other rows
547
- # contain values for the corresponding columns.
548
- # The column names must contain the model's
549
- #
550
- # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#input_feature_column_specs input_feature_column_specs'}
551
- #
552
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
553
- # (order doesn't matter). The columns corresponding to the model's
554
- # input feature column specs must contain values compatible with the
555
- # column spec's data types. Prediction on all the rows, i.e. the CSV
556
- # lines, will be attempted. For FORECASTING
557
- #
558
- # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type}:
559
- # all columns having
560
- #
561
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec::ForecastingMetadata::ColumnType TIME_SERIES_AVAILABLE_PAST_ONLY}
562
- # type will be ignored.
563
- # First three sample rows of a CSV file:
564
- # "First Name","Last Name","Dob","Addresses"
565
- #
566
- # "John","Doe","1968-01-22","[{"status":"current","address":"123_First_Avenue","city":"Seattle","state":"WA","zip":"11111","numberOfYears":"1"},{"status":"previous","address":"456_Main_Street","city":"Portland","state":"OR","zip":"22222","numberOfYears":"5"}]"
567
- #
568
- # "Jane","Doe","1980-10-16","[{"status":"current","address":"789_Any_Avenue","city":"Albany","state":"NY","zip":"33333","numberOfYears":"2"},{"status":"previous","address":"321_Main_Street","city":"Hoboken","state":"NJ","zip":"44444","numberOfYears":"3"}]}
569
- # BigQuery case:
570
- # An URI of a BigQuery table. The user data size of the BigQuery
571
- # table must be 100GB or smaller.
572
- # The column names must contain the model's
573
- #
574
- # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#input_feature_column_specs input_feature_column_specs'}
575
- #
576
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
577
- # (order doesn't matter). The columns corresponding to the model's
578
- # input feature column specs must contain values compatible with the
579
- # column spec's data types. Prediction on all the rows of the table
580
- # will be attempted. For FORECASTING
581
- #
582
- # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type}:
583
- # all columns having
584
- #
585
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec::ForecastingMetadata::ColumnType TIME_SERIES_AVAILABLE_PAST_ONLY}
586
- # type will be ignored.
587
- #
588
- # Definitions:
589
- # GCS_FILE_PATH = A path to file on GCS, e.g. "gs://folder/video.avi".
590
- # TEXT_SNIPPET = A content of a text snippet, UTF-8 encoded, enclosed within
591
- # double quotes ("")
592
- # TIME_SEGMENT_START = TIME_OFFSET
593
- # Expresses a beginning, inclusive, of a time segment
594
- # within an
595
- # example that has a time dimension (e.g. video).
596
- # TIME_SEGMENT_END = TIME_OFFSET
597
- # Expresses an end, exclusive, of a time segment within
598
- # an example that has a time dimension (e.g. video).
599
- # TIME_OFFSET = A number of seconds as measured from the start of an
600
- # example (e.g. video). Fractions are allowed, up to a
601
- # microsecond precision. "inf" is allowed and it means the end
602
- # of the example.
603
- #
604
- # Errors:
605
- # If any of the provided CSV files can't be parsed or if more than certain
606
- # percent of CSV rows cannot be processed then the operation fails and
607
- # prediction does not happen. Regardless of overall success or failure the
608
- # per-row failures, up to a certain count cap, will be listed in
609
- # Operation.metadata.partial_failures.
610
- # @!attribute [rw] gcs_source
611
- # @return [Google::Cloud::AutoML::V1beta1::GcsSource]
612
- # The Google Cloud Storage location for the input content.
613
- # @!attribute [rw] bigquery_source
614
- # @return [Google::Cloud::AutoML::V1beta1::BigQuerySource]
615
- # The BigQuery location for the input content.
616
- class BatchPredictInputConfig; end
617
-
618
- # Input configuration of a {Google::Cloud::AutoML::V1beta1::Document Document}.
619
- # @!attribute [rw] gcs_source
620
- # @return [Google::Cloud::AutoML::V1beta1::GcsSource]
621
- # The Google Cloud Storage location of the document file. Only a single path
622
- # should be given.
623
- # Max supported size: 512MB.
624
- # Supported extensions: .PDF.
625
- class DocumentInputConfig; end
626
-
627
- # * For Translation:
628
- # CSV file `translation.csv`, with each line in format:
629
- # ML_USE,GCS_FILE_PATH
630
- # GCS_FILE_PATH leads to a .TSV file which describes examples that have
631
- # given ML_USE, using the following row format per line:
632
- # TEXT_SNIPPET (in source language) \t TEXT_SNIPPET (in target
633
- # language)
634
- #
635
- # * For Tables:
636
- # Output depends on whether the dataset was imported from GCS or
637
- # BigQuery.
638
- # GCS case:
639
- #
640
- # {Google::Cloud::AutoML::V1beta1::OutputConfig#gcs_destination gcs_destination}
641
- # must be set. Exported are CSV file(s) `tables_1.csv`,
642
- # `tables_2.csv`,...,`tables_N.csv` with each having as header line
643
- # the table's column names, and all other lines contain values for
644
- # the header columns.
645
- # BigQuery case:
646
- #
647
- # {Google::Cloud::AutoML::V1beta1::OutputConfig#bigquery_destination bigquery_destination}
648
- # pointing to a BigQuery project must be set. In the given project a
649
- # new dataset will be created with name
650
- #
651
- # `export_data_<automl-dataset-display-name>_<timestamp-of-export-call>`
652
- # where <automl-dataset-display-name> will be made
653
- # BigQuery-dataset-name compatible (e.g. most special characters will
654
- # become underscores), and timestamp will be in
655
- # YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. In that
656
- # dataset a new table called `primary_table` will be created, and
657
- # filled with precisely the same data as this obtained on import.
658
- # @!attribute [rw] gcs_destination
659
- # @return [Google::Cloud::AutoML::V1beta1::GcsDestination]
660
- # The Google Cloud Storage location where the output is to be written to.
661
- # For Image Object Detection, Text Extraction, Video Classification and
662
- # Tables, in the given directory a new directory will be created with name:
663
- # export_data-<dataset-display-name>-<timestamp-of-export-call> where
664
- # timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export
665
- # output will be written into that directory.
666
- # @!attribute [rw] bigquery_destination
667
- # @return [Google::Cloud::AutoML::V1beta1::BigQueryDestination]
668
- # The BigQuery location where the output is to be written to.
669
- class OutputConfig; end
670
-
671
- # Output configuration for BatchPredict Action.
672
- #
673
- # As destination the
674
- #
675
- # {Google::Cloud::AutoML::V1beta1::BatchPredictOutputConfig#gcs_destination gcs_destination}
676
- # must be set unless specified otherwise for a domain. If gcs_destination is
677
- # set then in the given directory a new directory is created. Its name
678
- # will be
679
- # "prediction-<model-display-name>-<timestamp-of-prediction-call>",
680
- # where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. The contents
681
- # of it depends on the ML problem the predictions are made for.
682
- #
683
- # * For Image Classification:
684
- # In the created directory files `image_classification_1.jsonl`,
685
- # `image_classification_2.jsonl`,...,`image_classification_N.jsonl`
686
- # will be created, where N may be 1, and depends on the
687
- # total number of the successfully predicted images and annotations.
688
- # A single image will be listed only once with all its annotations,
689
- # and its annotations will never be split across files.
690
- # Each .JSONL file will contain, per line, a JSON representation of a
691
- # proto that wraps image's "ID" : "<id_value>" followed by a list of
692
- # zero or more AnnotationPayload protos (called annotations), which
693
- # have classification detail populated.
694
- # If prediction for any image failed (partially or completely), then an
695
- # additional `errors_1.jsonl`, `errors_2.jsonl`,..., `errors_N.jsonl`
696
- # files will be created (N depends on total number of failed
697
- # predictions). These files will have a JSON representation of a proto
698
- # that wraps the same "ID" : "<id_value>" but here followed by
699
- # exactly one
700
- #
701
- # [`google.rpc.Status`](https:
702
- # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
703
- # containing only `code` and `message`fields.
704
- #
705
- # * For Image Object Detection:
706
- # In the created directory files `image_object_detection_1.jsonl`,
707
- # `image_object_detection_2.jsonl`,...,`image_object_detection_N.jsonl`
708
- # will be created, where N may be 1, and depends on the
709
- # total number of the successfully predicted images and annotations.
710
- # Each .JSONL file will contain, per line, a JSON representation of a
711
- # proto that wraps image's "ID" : "<id_value>" followed by a list of
712
- # zero or more AnnotationPayload protos (called annotations), which
713
- # have image_object_detection detail populated. A single image will
714
- # be listed only once with all its annotations, and its annotations
715
- # will never be split across files.
716
- # If prediction for any image failed (partially or completely), then
717
- # additional `errors_1.jsonl`, `errors_2.jsonl`,..., `errors_N.jsonl`
718
- # files will be created (N depends on total number of failed
719
- # predictions). These files will have a JSON representation of a proto
720
- # that wraps the same "ID" : "<id_value>" but here followed by
721
- # exactly one
722
- #
723
- # [`google.rpc.Status`](https:
724
- # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
725
- # containing only `code` and `message`fields.
726
- # * For Video Classification:
727
- # In the created directory a video_classification.csv file, and a .JSON
728
- # file per each video classification requested in the input (i.e. each
729
- # line in given CSV(s)), will be created.
730
- #
731
- # The format of video_classification.csv is:
732
- #
733
- # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END,JSON_FILE_NAME,STATUS
734
- # where:
735
- # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END = matches 1 to 1
736
- # the prediction input lines (i.e. video_classification.csv has
737
- # precisely the same number of lines as the prediction input had.)
738
- # JSON_FILE_NAME = Name of .JSON file in the output directory, which
739
- # contains prediction responses for the video time segment.
740
- # STATUS = "OK" if prediction completed successfully, or an error code
741
- # with message otherwise. If STATUS is not "OK" then the .JSON file
742
- # for that line may not exist or be empty.
743
- #
744
- # Each .JSON file, assuming STATUS is "OK", will contain a list of
745
- # AnnotationPayload protos in JSON format, which are the predictions
746
- # for the video time segment the file is assigned to in the
747
- # video_classification.csv. All AnnotationPayload protos will have
748
- # video_classification field set, and will be sorted by
749
- # video_classification.type field (note that the returned types are
750
- # governed by `classifaction_types` parameter in
751
- # {PredictService::BatchPredictRequest#params}).
752
- #
753
- # * For Video Object Tracking:
754
- # In the created directory a video_object_tracking.csv file will be
755
- # created, and multiple files video_object_trackinng_1.json,
756
- # video_object_trackinng_2.json,..., video_object_trackinng_N.json,
757
- # where N is the number of requests in the input (i.e. the number of
758
- # lines in given CSV(s)).
759
- #
760
- # The format of video_object_tracking.csv is:
761
- #
762
- # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END,JSON_FILE_NAME,STATUS
763
- # where:
764
- # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END = matches 1 to 1
765
- # the prediction input lines (i.e. video_object_tracking.csv has
766
- # precisely the same number of lines as the prediction input had.)
767
- # JSON_FILE_NAME = Name of .JSON file in the output directory, which
768
- # contains prediction responses for the video time segment.
769
- # STATUS = "OK" if prediction completed successfully, or an error
770
- # code with message otherwise. If STATUS is not "OK" then the .JSON
771
- # file for that line may not exist or be empty.
772
- #
773
- # Each .JSON file, assuming STATUS is "OK", will contain a list of
774
- # AnnotationPayload protos in JSON format, which are the predictions
775
- # for each frame of the video time segment the file is assigned to in
776
- # video_object_tracking.csv. All AnnotationPayload protos will have
777
- # video_object_tracking field set.
778
- # * For Text Classification:
779
- # In the created directory files `text_classification_1.jsonl`,
780
- # `text_classification_2.jsonl`,...,`text_classification_N.jsonl`
781
- # will be created, where N may be 1, and depends on the
782
- # total number of inputs and annotations found.
783
- #
784
- # Each .JSONL file will contain, per line, a JSON representation of a
785
- # proto that wraps input text snippet or input text file and a list of
786
- # zero or more AnnotationPayload protos (called annotations), which
787
- # have classification detail populated. A single text snippet or file
788
- # will be listed only once with all its annotations, and its
789
- # annotations will never be split across files.
790
- #
791
- # If prediction for any text snippet or file failed (partially or
792
- # completely), then additional `errors_1.jsonl`, `errors_2.jsonl`,...,
793
- # `errors_N.jsonl` files will be created (N depends on total number of
794
- # failed predictions). These files will have a JSON representation of a
795
- # proto that wraps input text snippet or input text file followed by
796
- # exactly one
797
- #
798
- # [`google.rpc.Status`](https:
799
- # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
800
- # containing only `code` and `message`.
801
- #
802
- # * For Text Sentiment:
803
- # In the created directory files `text_sentiment_1.jsonl`,
804
- # `text_sentiment_2.jsonl`,...,`text_sentiment_N.jsonl`
805
- # will be created, where N may be 1, and depends on the
806
- # total number of inputs and annotations found.
807
- #
808
- # Each .JSONL file will contain, per line, a JSON representation of a
809
- # proto that wraps input text snippet or input text file and a list of
810
- # zero or more AnnotationPayload protos (called annotations), which
811
- # have text_sentiment detail populated. A single text snippet or file
812
- # will be listed only once with all its annotations, and its
813
- # annotations will never be split across files.
814
- #
815
- # If prediction for any text snippet or file failed (partially or
816
- # completely), then additional `errors_1.jsonl`, `errors_2.jsonl`,...,
817
- # `errors_N.jsonl` files will be created (N depends on total number of
818
- # failed predictions). These files will have a JSON representation of a
819
- # proto that wraps input text snippet or input text file followed by
820
- # exactly one
821
- #
822
- # [`google.rpc.Status`](https:
823
- # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
824
- # containing only `code` and `message`.
825
- #
826
- # * For Text Extraction:
827
- # In the created directory files `text_extraction_1.jsonl`,
828
- # `text_extraction_2.jsonl`,...,`text_extraction_N.jsonl`
829
- # will be created, where N may be 1, and depends on the
830
- # total number of inputs and annotations found.
831
- # The contents of these .JSONL file(s) depend on whether the input
832
- # used inline text, or documents.
833
- # If input was inline, then each .JSONL file will contain, per line,
834
- # a JSON representation of a proto that wraps given in request text
835
- # snippet's "id" (if specified), followed by input text snippet,
836
- # and a list of zero or more
837
- # AnnotationPayload protos (called annotations), which have
838
- # text_extraction detail populated. A single text snippet will be
839
- # listed only once with all its annotations, and its annotations will
840
- # never be split across files.
841
- # If input used documents, then each .JSONL file will contain, per
842
- # line, a JSON representation of a proto that wraps given in request
843
- # document proto, followed by its OCR-ed representation in the form
844
- # of a text snippet, finally followed by a list of zero or more
845
- # AnnotationPayload protos (called annotations), which have
846
- # text_extraction detail populated and refer, via their indices, to
847
- # the OCR-ed text snippet. A single document (and its text snippet)
848
- # will be listed only once with all its annotations, and its
849
- # annotations will never be split across files.
850
- # If prediction for any text snippet failed (partially or completely),
851
- # then additional `errors_1.jsonl`, `errors_2.jsonl`,...,
852
- # `errors_N.jsonl` files will be created (N depends on total number of
853
- # failed predictions). These files will have a JSON representation of a
854
- # proto that wraps either the "id" : "<id_value>" (in case of inline)
855
- # or the document proto (in case of document) but here followed by
856
- # exactly one
857
- #
858
- # [`google.rpc.Status`](https:
859
- # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
860
- # containing only `code` and `message`.
861
- #
862
- # * For Tables:
863
- # Output depends on whether
864
- #
865
- # {Google::Cloud::AutoML::V1beta1::BatchPredictOutputConfig#gcs_destination gcs_destination}
866
- # or
867
- #
868
- # {Google::Cloud::AutoML::V1beta1::BatchPredictOutputConfig#bigquery_destination bigquery_destination}
869
- # is set (either is allowed).
870
- # GCS case:
871
- # In the created directory files `tables_1.csv`, `tables_2.csv`,...,
872
- # `tables_N.csv` will be created, where N may be 1, and depends on
873
- # the total number of the successfully predicted rows.
874
- # For all CLASSIFICATION
875
- #
876
- # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type-s}:
877
- # Each .csv file will contain a header, listing all columns'
878
- #
879
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
880
- # given on input followed by M target column names in the format of
881
- #
882
- # "<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
883
- #
884
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>_<target
885
- # value>_score" where M is the number of distinct target values,
886
- # i.e. number of distinct values in the target column of the table
887
- # used to train the model. Subsequent lines will contain the
888
- # respective values of successfully predicted rows, with the last,
889
- # i.e. the target, columns having the corresponding prediction
890
- # {Google::Cloud::AutoML::V1beta1::TablesAnnotation#score scores}.
891
- # For REGRESSION and FORECASTING
892
- #
893
- # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type-s}:
894
- # Each .csv file will contain a header, listing all columns'
895
- # {Google::Cloud::AutoML::V1beta1::Display_name display_name-s} given
896
- # on input followed by the predicted target column with name in the
897
- # format of
898
- #
899
- # "predicted_<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
900
- #
901
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>"
902
- # Subsequent lines will contain the respective values of
903
- # successfully predicted rows, with the last, i.e. the target,
904
- # column having the predicted target value.
905
- # If prediction for any rows failed, then an additional
906
- # `errors_1.csv`, `errors_2.csv`,..., `errors_N.csv` will be
907
- # created (N depends on total number of failed rows). These files
908
- # will have analogous format as `tables_*.csv`, but always with a
909
- # single target column having
910
- #
911
- # [`google.rpc.Status`](https:
912
- # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
913
- # represented as a JSON string, and containing only `code` and
914
- # `message`.
915
- # BigQuery case:
916
- #
917
- # {Google::Cloud::AutoML::V1beta1::OutputConfig#bigquery_destination bigquery_destination}
918
- # pointing to a BigQuery project must be set. In the given project a
919
- # new dataset will be created with name
920
- # `prediction_<model-display-name>_<timestamp-of-prediction-call>`
921
- # where <model-display-name> will be made
922
- # BigQuery-dataset-name compatible (e.g. most special characters will
923
- # become underscores), and timestamp will be in
924
- # YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. In the dataset
925
- # two tables will be created, `predictions`, and `errors`.
926
- # The `predictions` table's column names will be the input columns'
927
- #
928
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
929
- # followed by the target column with name in the format of
930
- #
931
- # "predicted_<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
932
- #
933
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>"
934
- # The input feature columns will contain the respective values of
935
- # successfully predicted rows, with the target column having an
936
- # ARRAY of
937
- #
938
- # {Google::Cloud::AutoML::V1beta1::AnnotationPayload AnnotationPayloads},
939
- # represented as STRUCT-s, containing
940
- # {Google::Cloud::AutoML::V1beta1::TablesAnnotation TablesAnnotation}.
941
- # The `errors` table contains rows for which the prediction has
942
- # failed, it has analogous input columns while the target column name
943
- # is in the format of
944
- #
945
- # "errors_<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
946
- #
947
- # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>",
948
- # and as a value has
949
- #
950
- # [`google.rpc.Status`](https:
951
- # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
952
- # represented as a STRUCT, and containing only `code` and `message`.
953
- # @!attribute [rw] gcs_destination
954
- # @return [Google::Cloud::AutoML::V1beta1::GcsDestination]
955
- # The Google Cloud Storage location of the directory where the output is to
956
- # be written to.
957
- # @!attribute [rw] bigquery_destination
958
- # @return [Google::Cloud::AutoML::V1beta1::BigQueryDestination]
959
- # The BigQuery location where the output is to be written to.
960
- class BatchPredictOutputConfig; end
961
-
962
- # Output configuration for ModelExport Action.
963
- # @!attribute [rw] gcs_destination
964
- # @return [Google::Cloud::AutoML::V1beta1::GcsDestination]
965
- # The Google Cloud Storage location where the model is to be written to.
966
- # This location may only be set for the following model formats:
967
- # "tflite", "edgetpu_tflite", "tf_saved_model", "tf_js", "core_ml".
968
- #
969
- # Under the directory given as the destination a new one with name
970
- # "model-export-<model-display-name>-<timestamp-of-export-call>",
971
- # where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format,
972
- # will be created. Inside the model and any of its supporting files
973
- # will be written.
974
- # @!attribute [rw] gcr_destination
975
- # @return [Google::Cloud::AutoML::V1beta1::GcrDestination]
976
- # The GCR location where model image is to be pushed to. This location
977
- # may only be set for the following model formats:
978
- # "docker".
979
- #
980
- # The model image will be created under the given URI.
981
- # @!attribute [rw] model_format
982
- # @return [String]
983
- # The format in which the model must be exported. The available, and default,
984
- # formats depend on the problem and model type (if given problem and type
985
- # combination doesn't have a format listed, it means its models are not
986
- # exportable):
987
- #
988
- # * For Image Classification mobile-low-latency-1, mobile-versatile-1,
989
- # mobile-high-accuracy-1:
990
- # "tflite" (default), "edgetpu_tflite", "tf_saved_model", "tf_js",
991
- # "docker".
992
- #
993
- # * For Image Classification mobile-core-ml-low-latency-1,
994
- # mobile-core-ml-versatile-1, mobile-core-ml-high-accuracy-1:
995
- # "core_ml" (default).
996
- # Formats description:
997
- #
998
- # * tflite - Used for Android mobile devices.
999
- # * edgetpu_tflite - Used for [Edge TPU](https://cloud.google.com/edge-tpu/)
1000
- # devices.
1001
- # * tf_saved_model - A tensorflow model in SavedModel format.
1002
- # * tf_js - A [TensorFlow.js](https://www.tensorflow.org/js) model that can
1003
- # be used in the browser and in Node.js using JavaScript.
1004
- # * docker - Used for Docker containers. Use the params field to customize
1005
- # the container. The container is verified to work correctly on
1006
- # ubuntu 16.04 operating system. See more at
1007
- # [containers
1008
- #
1009
- # quickstart](https:
1010
- # //cloud.google.com/vision/automl/docs/containers-gcs-quickstart)
1011
- # * core_ml - Used for iOS mobile devices.
1012
- # @!attribute [rw] params
1013
- # @return [Hash{String => String}]
1014
- # Additional model-type and format specific parameters describing the
1015
- # requirements for the to be exported model files, any string must be up to
1016
- # 25000 characters long.
1017
- #
1018
- # * For `docker` format:
1019
- # `cpu_architecture` - (string) "x86_64" (default).
1020
- # `gpu_architecture` - (string) "none" (default), "nvidia".
1021
- class ModelExportOutputConfig; end
1022
-
1023
- # Output configuration for ExportEvaluatedExamples Action. Note that this call
1024
- # is available only for 30 days since the moment the model was evaluated.
1025
- # The output depends on the domain, as follows (note that only examples from
1026
- # the TEST set are exported):
1027
- #
1028
- # * For Tables:
1029
- #
1030
- # {Google::Cloud::AutoML::V1beta1::OutputConfig#bigquery_destination bigquery_destination}
1031
- # pointing to a BigQuery project must be set. In the given project a
1032
- # new dataset will be created with name
1033
- #
1034
- # `export_evaluated_examples_<model-display-name>_<timestamp-of-export-call>`
1035
- # where <model-display-name> will be made BigQuery-dataset-name
1036
- # compatible (e.g. most special characters will become underscores),
1037
- # and timestamp will be in YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601"
1038
- # format. In the dataset an `evaluated_examples` table will be
1039
- # created. It will have all the same columns as the
1040
- #
1041
- # {Google::Cloud::AutoML::V1beta1::TablesDatasetMetadata#primary_table_spec_id primary_table}
1042
- # of the
1043
- # {Google::Cloud::AutoML::V1beta1::Model#dataset_id dataset} from which
1044
- # the model was created, as they were at the moment of model's
1045
- # evaluation (this includes the target column with its ground
1046
- # truth), followed by a column called "predicted_<target_column>". That
1047
- # last column will contain the model's prediction result for each
1048
- # respective row, given as ARRAY of
1049
- # {Google::Cloud::AutoML::V1beta1::AnnotationPayload AnnotationPayloads},
1050
- # represented as STRUCT-s, containing
1051
- # {Google::Cloud::AutoML::V1beta1::TablesAnnotation TablesAnnotation}.
1052
- # @!attribute [rw] bigquery_destination
1053
- # @return [Google::Cloud::AutoML::V1beta1::BigQueryDestination]
1054
- # The BigQuery location where the output is to be written to.
1055
- class ExportEvaluatedExamplesOutputConfig; end
1056
-
1057
- # The Google Cloud Storage location for the input content.
1058
- # @!attribute [rw] input_uris
1059
- # @return [Array<String>]
1060
- # Required. Google Cloud Storage URIs to input files, up to 2000 characters
1061
- # long. Accepted forms:
1062
- # * Full object path, e.g. gs://bucket/directory/object.csv
1063
- class GcsSource; end
1064
-
1065
- # The BigQuery location for the input content.
1066
- # @!attribute [rw] input_uri
1067
- # @return [String]
1068
- # Required. BigQuery URI to a table, up to 2000 characters long.
1069
- # Accepted forms:
1070
- # * BigQuery path e.g. bq://projectId.bqDatasetId.bqTableId
1071
- class BigQuerySource; end
1072
-
1073
- # The Google Cloud Storage location where the output is to be written to.
1074
- # @!attribute [rw] output_uri_prefix
1075
- # @return [String]
1076
- # Required. Google Cloud Storage URI to output directory, up to 2000
1077
- # characters long.
1078
- # Accepted forms:
1079
- # * Prefix path: gs://bucket/directory
1080
- # The requesting user must have write permission to the bucket.
1081
- # The directory is created if it doesn't exist.
1082
- class GcsDestination; end
1083
-
1084
- # The BigQuery location for the output content.
1085
- # @!attribute [rw] output_uri
1086
- # @return [String]
1087
- # Required. BigQuery URI to a project, up to 2000 characters long.
1088
- # Accepted forms:
1089
- # * BigQuery path e.g. bq://projectId
1090
- class BigQueryDestination; end
1091
-
1092
- # The GCR location where the image must be pushed to.
1093
- # @!attribute [rw] output_uri
1094
- # @return [String]
1095
- # Required. Google Contained Registry URI of the new image, up to 2000
1096
- # characters long. See
1097
- #
1098
- # https:
1099
- # //cloud.google.com/container-registry/do
1100
- # // cs/pushing-and-pulling#pushing_an_image_to_a_registry
1101
- # Accepted forms:
1102
- # * [HOSTNAME]/[PROJECT-ID]/[IMAGE]
1103
- # * [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
1104
- #
1105
- # The requesting user must have permission to push images the project.
1106
- class GcrDestination; end
1107
- end
1108
- end
1109
- end
1110
- end