google-cloud-automl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +11 -0
  3. data/AUTHENTICATION.md +199 -0
  4. data/LICENSE +201 -0
  5. data/README.md +69 -0
  6. data/lib/google/cloud/automl/v1beta1/annotation_payload_pb.rb +34 -0
  7. data/lib/google/cloud/automl/v1beta1/annotation_spec_pb.rb +18 -0
  8. data/lib/google/cloud/automl/v1beta1/automl_client.rb +1914 -0
  9. data/lib/google/cloud/automl/v1beta1/automl_client_config.json +146 -0
  10. data/lib/google/cloud/automl/v1beta1/classification_pb.rb +65 -0
  11. data/lib/google/cloud/automl/v1beta1/column_spec_pb.rb +28 -0
  12. data/lib/google/cloud/automl/v1beta1/credentials.rb +41 -0
  13. data/lib/google/cloud/automl/v1beta1/data_items_pb.rb +48 -0
  14. data/lib/google/cloud/automl/v1beta1/data_stats_pb.rb +77 -0
  15. data/lib/google/cloud/automl/v1beta1/data_types_pb.rb +36 -0
  16. data/lib/google/cloud/automl/v1beta1/dataset_pb.rb +38 -0
  17. data/lib/google/cloud/automl/v1beta1/detection_pb.rb +52 -0
  18. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/annotation_payload.rb +63 -0
  19. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/annotation_spec.rb +41 -0
  20. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/classification.rb +203 -0
  21. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/column_spec.rb +72 -0
  22. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_items.rb +94 -0
  23. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_stats.rb +160 -0
  24. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_types.rb +107 -0
  25. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/dataset.rb +77 -0
  26. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/detection.rb +134 -0
  27. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/geometry.rb +43 -0
  28. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/image.rb +141 -0
  29. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/io.rb +975 -0
  30. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/model.rb +92 -0
  31. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/model_evaluation.rb +100 -0
  32. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/prediction_service.rb +136 -0
  33. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/ranges.rb +31 -0
  34. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/regression.rb +41 -0
  35. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/service.rb +368 -0
  36. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/table_spec.rb +64 -0
  37. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/tables.rb +261 -0
  38. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/temporal.rb +33 -0
  39. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text.rb +53 -0
  40. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_extraction.rb +60 -0
  41. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_segment.rb +37 -0
  42. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_sentiment.rb +76 -0
  43. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/translation.rb +63 -0
  44. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/video.rb +35 -0
  45. data/lib/google/cloud/automl/v1beta1/doc/google/longrunning/operations.rb +51 -0
  46. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/any.rb +131 -0
  47. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/duration.rb +91 -0
  48. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/field_mask.rb +222 -0
  49. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/struct.rb +74 -0
  50. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/timestamp.rb +111 -0
  51. data/lib/google/cloud/automl/v1beta1/doc/google/rpc/status.rb +87 -0
  52. data/lib/google/cloud/automl/v1beta1/geometry_pb.rb +21 -0
  53. data/lib/google/cloud/automl/v1beta1/image_pb.rb +43 -0
  54. data/lib/google/cloud/automl/v1beta1/io_pb.rb +80 -0
  55. data/lib/google/cloud/automl/v1beta1/model_evaluation_pb.rb +37 -0
  56. data/lib/google/cloud/automl/v1beta1/model_pb.rb +44 -0
  57. data/lib/google/cloud/automl/v1beta1/operations_pb.rb +90 -0
  58. data/lib/google/cloud/automl/v1beta1/prediction_service_client.rb +442 -0
  59. data/lib/google/cloud/automl/v1beta1/prediction_service_client_config.json +36 -0
  60. data/lib/google/cloud/automl/v1beta1/prediction_service_pb.rb +39 -0
  61. data/lib/google/cloud/automl/v1beta1/prediction_service_services_pb.rb +72 -0
  62. data/lib/google/cloud/automl/v1beta1/ranges_pb.rb +17 -0
  63. data/lib/google/cloud/automl/v1beta1/regression_pb.rb +20 -0
  64. data/lib/google/cloud/automl/v1beta1/service_pb.rb +177 -0
  65. data/lib/google/cloud/automl/v1beta1/service_services_pb.rb +159 -0
  66. data/lib/google/cloud/automl/v1beta1/table_spec_pb.rb +22 -0
  67. data/lib/google/cloud/automl/v1beta1/tables_pb.rb +56 -0
  68. data/lib/google/cloud/automl/v1beta1/temporal_pb.rb +18 -0
  69. data/lib/google/cloud/automl/v1beta1/text_extraction_pb.rb +32 -0
  70. data/lib/google/cloud/automl/v1beta1/text_pb.rb +33 -0
  71. data/lib/google/cloud/automl/v1beta1/text_segment_pb.rb +18 -0
  72. data/lib/google/cloud/automl/v1beta1/text_sentiment_pb.rb +29 -0
  73. data/lib/google/cloud/automl/v1beta1/translation_pb.rb +33 -0
  74. data/lib/google/cloud/automl/v1beta1/video_pb.rb +25 -0
  75. data/lib/google/cloud/automl/v1beta1.rb +231 -0
  76. data/lib/google/cloud/automl/version.rb +22 -0
  77. data/lib/google/cloud/automl.rb +219 -0
  78. data/lib/google-cloud-automl.rb +15 -0
  79. metadata +203 -0
@@ -0,0 +1,975 @@
1
+ # Copyright 2019 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 (i.e. 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.
61
+ # Four sample rows:
62
+ # TRAIN,gs://folder/image1.png,car,0.1,0.1,,,0.3,0.3,,
63
+ # TRAIN,gs://folder/image1.png,bike,.7,.6,,,.8,.9,,
64
+ # UNASSIGNED,gs://folder/im2.png,car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3
65
+ # TEST,gs://folder/im3.png,,,,,,,,,
66
+ #
67
+ # * For Video Classification:
68
+ # CSV file(s) with each line in format:
69
+ # ML_USE,GCS_FILE_PATH
70
+ # where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
71
+ # should lead to another .csv file which describes examples that have
72
+ # given ML_USE, using the following row format:
73
+ # GCS_FILE_PATH,(LABEL,TIME_SEGMENT_START,TIME_SEGMENT_END | ,,)
74
+ # Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
75
+ # to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
76
+ # TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
77
+ # length of the video, and end has to be after the start. Any segment
78
+ # of a video which has one or more labels on it, is considered a
79
+ # hard negative for all other labels. Any segment with no labels on
80
+ # it is considered to be unknown. If a whole video is unknown, then
81
+ # it shuold be mentioned just once with ",," in place of LABEL,
82
+ # TIME_SEGMENT_START,TIME_SEGMENT_END.
83
+ # Sample top level CSV file:
84
+ # TRAIN,gs://folder/train_videos.csv
85
+ # TEST,gs://folder/test_videos.csv
86
+ # UNASSIGNED,gs://folder/other_videos.csv
87
+ # Sample rows of a CSV file for a particular ML_USE:
88
+ # gs://folder/video1.avi,car,120,180.000021
89
+ # gs://folder/video1.avi,bike,150,180.000021
90
+ # gs://folder/vid2.avi,car,0,60.5
91
+ # gs://folder/vid3.avi,,,
92
+ #
93
+ # * For Video Object Tracking:
94
+ # CSV file(s) with each line in format:
95
+ # ML_USE,GCS_FILE_PATH
96
+ # where ML_USE VALIDATE value should not be used. The GCS_FILE_PATH
97
+ # should lead to another .csv file which describes examples that have
98
+ # given ML_USE, using one of the following row format:
99
+ # GCS_FILE_PATH,LABEL,[INSTANCE_ID],TIMESTAMP,BOUNDING_BOX
100
+ # or
101
+ # GCS_FILE_PATH,,,,,,,,,,
102
+ # Here GCS_FILE_PATH leads to a video of up to 50GB in size and up
103
+ # to 3h duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
104
+ # Providing INSTANCE_IDs can help to obtain a better model. When
105
+ # a specific labeled entity leaves the video frame, and shows up
106
+ # afterwards it is not required, albeit preferable, that the same
107
+ # INSTANCE_ID is given to it.
108
+ # TIMESTAMP must be within the length of the video, the
109
+ # BOUNDING_BOX is assumed to be drawn on the closest video's frame
110
+ # to the TIMESTAMP. Any mentioned by the TIMESTAMP frame is expected
111
+ # to be exhaustively labeled and no more than 500 BOUNDING_BOX-es per
112
+ # frame are allowed. If a whole video is unknown, then it should be
113
+ # mentioned just once with ",,,,,,,,,," in place of LABEL,
114
+ # [INSTANCE_ID],TIMESTAMP,BOUNDING_BOX.
115
+ # Sample top level CSV file:
116
+ # TRAIN,gs://folder/train_videos.csv
117
+ # TEST,gs://folder/test_videos.csv
118
+ # UNASSIGNED,gs://folder/other_videos.csv
119
+ # Seven sample rows of a CSV file for a particular ML_USE:
120
+ # gs://folder/video1.avi,car,1,12.10,0.8,0.8,0.9,0.8,0.9,0.9,0.8,0.9
121
+ # gs://folder/video1.avi,car,1,12.90,0.4,0.8,0.5,0.8,0.5,0.9,0.4,0.9
122
+ # gs://folder/video1.avi,car,2,12.10,.4,.2,.5,.2,.5,.3,.4,.3
123
+ # gs://folder/video1.avi,car,2,12.90,.8,.2,,,.9,.3,,
124
+ # gs://folder/video1.avi,bike,,12.50,.45,.45,,,.55,.55,,
125
+ # gs://folder/video2.avi,car,1,0,.1,.9,,,.9,.1,,
126
+ # gs://folder/video2.avi,,,,,,,,,,,
127
+ # * For Text Extraction:
128
+ # CSV file(s) with each line in format:
129
+ # ML_USE,GCS_FILE_PATH
130
+ # GCS_FILE_PATH leads to a .JSONL (i.e. JSON Lines) file which either
131
+ # imports text in-line or as documents.
132
+ # The in-line .JSONL file contains, per line, a proto that wraps a
133
+ # TextSnippet proto (in json representation) followed by one or
134
+ # more AnnotationPayload protos (called annotations), which have
135
+ # display_name and text_extraction detail populated.
136
+ # The given text is expected to be annotated exhaustively, e.g. if
137
+ # you look for animals and text contains "dolphin" that is not
138
+ # labeled, then "dolphin" will be assumed to not be an animal. Any
139
+ # given text snippet content must have 30,000 characters or less,
140
+ # and also be UTF-8 NFC encoded (ASCII already is). The document .JSONL file contains, per line, a proto that wraps a
141
+ # Document proto with input_config set. Only PDF documents are
142
+ # supported now, and each document may be up to 2MB large.
143
+ # Currently annotations on documents cannot be specified at import.
144
+ # Any given .JSONL file must be 100MB or smaller.
145
+ # Three sample CSV rows:
146
+ # TRAIN,gs://folder/file1.jsonl
147
+ # VALIDATE,gs://folder/file2.jsonl
148
+ # TEST,gs://folder/file3.jsonl
149
+ # Sample in-line JSON Lines file for entity extraction (presented here
150
+ # with artificial line breaks, but the only actual line break is
151
+ # denoted by \n).:
152
+ # {
153
+ # "text_snippet": {
154
+ # "content": "dog car cat"
155
+ # } "annotations": [
156
+ # {
157
+ # "display_name": "animal",
158
+ # "text_extraction": {
159
+ # "text_segment": {"start_offset": 0, "end_offset": 3}
160
+ # }
161
+ # },
162
+ # {
163
+ # "display_name": "vehicle",
164
+ # "text_extraction": {
165
+ # "text_segment": {"start_offset": 4, "end_offset": 7}
166
+ # }
167
+ # },
168
+ # {
169
+ # "display_name": "animal",
170
+ # "text_extraction": {
171
+ # "text_segment": {"start_offset": 8, "end_offset": 11}
172
+ # }
173
+ # },
174
+ # ],
175
+ # }\n
176
+ # {
177
+ # "text_snippet": {
178
+ # "content": "This dog is good."
179
+ # },
180
+ # "annotations": [
181
+ # {
182
+ # "display_name": "animal",
183
+ # "text_extraction": {
184
+ # "text_segment": {"start_offset": 5, "end_offset": 8}
185
+ # }
186
+ # }
187
+ # ]
188
+ # }
189
+ # Sample document JSON Lines file (presented here with artificial line
190
+ # breaks, but the only actual line break is denoted by \n).:
191
+ # {
192
+ # "document": {
193
+ # "input_config": {
194
+ # "gcs_source": { "input_uris": [ "gs://folder/document1.pdf" ]
195
+ # }
196
+ # }
197
+ # }
198
+ # }\n
199
+ # {
200
+ # "document": {
201
+ # "input_config": {
202
+ # "gcs_source": { "input_uris": [ "gs://folder/document2.pdf" ]
203
+ # }
204
+ # }
205
+ # }
206
+ # }
207
+ #
208
+ # * For Text Classification:
209
+ # CSV file(s) with each line in format:
210
+ # ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),LABEL,LABEL,...
211
+ # TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
212
+ # the column content is a valid gcs file path, i.e. prefixed by
213
+ # "gs://", it will be treated as a GCS_FILE_PATH, else if the content
214
+ # is enclosed within double quotes (""), it will
215
+ # be treated as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
216
+ # must lead to a .txt file with UTF-8 encoding, e.g.
217
+ # "gs://folder/content.txt", and the content in it will be extracted
218
+ # as a text snippet. In TEXT_SNIPPET case, the column content
219
+ # excluding quotes will be treated as to be imported text snippet. In
220
+ # both cases, the text snippet/file size must be within 128kB.
221
+ # Maximum 100 unique labels are allowed per CSV row.
222
+ # Four sample rows:
223
+ # TRAIN,"They have bad food and very rude",RudeService,BadFood
224
+ # TRAIN,gs://folder/content.txt,SlowService
225
+ # TEST,"Typically always bad service there.",RudeService
226
+ # VALIDATE,"Stomach ache to go.",BadFood
227
+ #
228
+ # * For Text Sentiment:
229
+ # CSV file(s) with each line in format:
230
+ # ML_USE,(TEXT_SNIPPET | GCS_FILE_PATH),SENTIMENT
231
+ # TEXT_SNIPPET and GCS_FILE_PATH are distinguished by a pattern. If
232
+ # the column content is a valid gcs file path, i.e. prefixed by
233
+ # "gs://", it will be treated as a GCS_FILE_PATH, otherwise it will
234
+ # be treated as a TEXT_SNIPPET. In the GCS_FILE_PATH case, the path
235
+ # must lead to a .txt file with UTF-8 encoding, e.g.
236
+ # "gs://folder/content.txt", and the content in it will be extracted
237
+ # as a text snippet. In TEXT_SNIPPET case, the column content itself
238
+ # will be treated as to be imported text snippet. In both cases, the
239
+ # text snippet must be up to 500 characters long.
240
+ # Four sample rows:
241
+ # TRAIN,"@freewrytin God is way too good for Claritin",2
242
+ # TRAIN,"I need Claritin so bad",3
243
+ # TEST,"Thank god for Claritin.",4
244
+ # VALIDATE,gs://folder/content.txt,2
245
+ #
246
+ # * For Tables:
247
+ # Either
248
+ # {Google::Cloud::AutoML::V1beta1::InputConfig#gcs_source gcs_source} or
249
+ #
250
+ # {Google::Cloud::AutoML::V1beta1::InputConfig#bigquery_source bigquery_source}
251
+ # can be used. All inputs will be concatenated into a single
252
+ #
253
+ # {Google::Cloud::AutoML::V1beta1::TablesDatasetMetadata#primary_table_name primary_table}
254
+ # For gcs_source:
255
+ # CSV file(s), where the first row of the first file is the header,
256
+ # containing unique column names. If the first row of a subsequent
257
+ # file is the same as the header, then it is also treated as a
258
+ # header. All other rows contain values for the corresponding
259
+ # columns.
260
+ # Each .CSV file by itself must be 10GB or smaller, and their total
261
+ # size must be 100GB or smaller.
262
+ # First three sample rows of a CSV file:
263
+ # "Id","First Name","Last Name","Dob","Addresses"
264
+ #
265
+ # "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"}]"
266
+ #
267
+ # "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"}]}
268
+ # For bigquery_source:
269
+ # An URI of a BigQuery table. The user data size of the BigQuery
270
+ # table must be 100GB or smaller.
271
+ # An imported table must have between 2 and 1,000 columns, inclusive,
272
+ # and between 1000 and 100,000,000 rows, inclusive. There are at most 5
273
+ # import data running in parallel.
274
+ #
275
+ # Definitions:
276
+ # ML_USE = "TRAIN" | "VALIDATE" | "TEST" | "UNASSIGNED"
277
+ # Describes how the given example (file) should be used for model
278
+ # training. "UNASSIGNED" can be used when user has no preference.
279
+ # GCS_FILE_PATH = A path to file on GCS, e.g. "gs://folder/image1.png".
280
+ # LABEL = A display name of an object on an image, video etc., e.g. "dog".
281
+ # Must be up to 32 characters long and can consist only of ASCII
282
+ # Latin letters A-Z and a-z, underscores(_), and ASCII digits 0-9.
283
+ # For each label an AnnotationSpec is created which display_name
284
+ # becomes the label; AnnotationSpecs are given back in predictions.
285
+ # INSTANCE_ID = A positive integer that identifies a specific instance of a
286
+ # labeled entity on an example. Used e.g. to track two cars on
287
+ # a video while being able to tell apart which one is which.
288
+ # BOUNDING_BOX = VERTEX,VERTEX,VERTEX,VERTEX | VERTEX,,,VERTEX,,
289
+ # A rectangle parallel to the frame of the example (image,
290
+ # video). If 4 vertices are given they are connected by edges
291
+ # in the order provided, if 2 are given they are recognized
292
+ # as diagonally opposite vertices of the rectangle.
293
+ # VERTEX = COORDINATE,COORDINATE
294
+ # First coordinate is horizontal (x), the second is vertical (y).
295
+ # COORDINATE = A float in 0 to 1 range, relative to total length of
296
+ # image or video in given dimension. For fractions the
297
+ # leading non-decimal 0 can be omitted (i.e. 0.3 = .3).
298
+ # Point 0,0 is in top left.
299
+ # TIME_SEGMENT_START = TIME_OFFSET
300
+ # Expresses a beginning, inclusive, of a time segment
301
+ # within an example that has a time dimension
302
+ # (e.g. video).
303
+ # TIME_SEGMENT_END = TIME_OFFSET
304
+ # Expresses an end, exclusive, of a time segment within
305
+ # an example that has a time dimension (e.g. video).
306
+ # TIME_OFFSET = A number of seconds as measured from the start of an
307
+ # example (e.g. video). Fractions are allowed, up to a
308
+ # microsecond precision. "inf" is allowed, and it means the end
309
+ # of the example.
310
+ # TEXT_SNIPPET = A content of a text snippet, UTF-8 encoded, enclosed within
311
+ # double quotes ("").
312
+ # SENTIMENT = An integer between 0 and
313
+ # Dataset.text_sentiment_dataset_metadata.sentiment_max
314
+ # (inclusive). Describes the ordinal of the sentiment - higher
315
+ # value means a more positive sentiment. All the values are
316
+ # completely relative, i.e. neither 0 needs to mean a negative or
317
+ # neutral sentiment nor sentiment_max needs to mean a positive one
318
+ # * it is just required that 0 is the least positive sentiment
319
+ # in the data, and sentiment_max is the most positive one.
320
+ # The SENTIMENT shouldn't be confused with "score" or "magnitude"
321
+ # from the previous Natural Language Sentiment Analysis API.
322
+ # All SENTIMENT values between 0 and sentiment_max must be
323
+ # represented in the imported data. On prediction the same 0 to
324
+ # sentiment_max range will be used. The difference between
325
+ # neighboring sentiment values needs not to be uniform, e.g. 1 and
326
+ # 2 may be similar whereas the difference between 2 and 3 may be
327
+ # huge.
328
+ #
329
+ # Errors:
330
+ # If any of the provided CSV files can't be parsed or if more than certain
331
+ # percent of CSV rows cannot be processed then the operation fails and
332
+ # nothing is imported. Regardless of overall success or failure the per-row
333
+ # failures, up to a certain count cap, will be listed in
334
+ # Operation.metadata.partial_failures.
335
+ # @!attribute [rw] gcs_source
336
+ # @return [Google::Cloud::AutoML::V1beta1::GcsSource]
337
+ # The Google Cloud Storage location for the input content.
338
+ # In ImportData, the gcs_source points to a csv with structure described in
339
+ # the comment.
340
+ # @!attribute [rw] bigquery_source
341
+ # @return [Google::Cloud::AutoML::V1beta1::BigQuerySource]
342
+ # The BigQuery location for the input content.
343
+ # @!attribute [rw] params
344
+ # @return [Hash{String => String}]
345
+ # Additional domain-specific parameters describing the semantic of the
346
+ # imported data, any string must be up to 25000
347
+ # characters long.
348
+ #
349
+ # * For Tables:
350
+ # `schema_inference_version` - (integer) Required. The version of the
351
+ # algorithm that should be used for the initial inference of the
352
+ # schema (columns' DataTypes) of the table the data is being imported
353
+ # into. Allowed values: "1".
354
+ class InputConfig; end
355
+
356
+ # Input configuration for BatchPredict Action.
357
+ #
358
+ # The format of input depends on the ML problem of the model used for
359
+ # prediction. As input source the
360
+ # {Google::Cloud::AutoML::V1beta1::InputConfig#gcs_source gcs_source}
361
+ # is expected, unless specified otherwise.
362
+ #
363
+ # The formats are represented in EBNF with commas being literal and with
364
+ # non-terminal symbols defined near the end of this comment. The formats
365
+ # are:
366
+ # * For Video Classification:
367
+ # CSV file(s) with each line in format:
368
+ # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END
369
+ # GCS_FILE_PATH leads to video of up to 50GB in size and up to 3h
370
+ # duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
371
+ # TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
372
+ # length of the video, and end has to be after the start.
373
+ # Three sample rows:
374
+ # gs://folder/video1.mp4,10,40
375
+ # gs://folder/video1.mp4,20,60
376
+ # gs://folder/vid2.mov,0,inf
377
+ #
378
+ # * For Video Object Tracking:
379
+ # CSV file(s) with each line in format:
380
+ # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END
381
+ # GCS_FILE_PATH leads to video of up to 50GB in size and up to 3h
382
+ # duration. Supported extensions: .MOV, .MPEG4, .MP4, .AVI.
383
+ # TIME_SEGMENT_START and TIME_SEGMENT_END must be within the
384
+ # length of the video, and end has to be after the start.
385
+ # Three sample rows:
386
+ # gs://folder/video1.mp4,10,240
387
+ # gs://folder/video1.mp4,300,360
388
+ # gs://folder/vid2.mov,0,inf
389
+ # * For Text Extraction
390
+ # .JSONL (i.e. JSON Lines) file(s) which either provide text in-line or
391
+ # as documents (for a single BatchPredict call only one of the these
392
+ # formats may be used).
393
+ # The in-line .JSONL file(s) contain per line a proto that
394
+ # wraps a temporary user-assigned TextSnippet ID (string up to 2000
395
+ # characters long) called "id", a TextSnippet proto (in
396
+ # json representation) and zero or more TextFeature protos. Any given
397
+ # text snippet content must have 30,000 characters or less, and also
398
+ # be UTF-8 NFC encoded (ASCII already is). The IDs provided should be
399
+ # unique.
400
+ # The document .JSONL file(s) contain, per line, a proto that wraps a
401
+ # Document proto with input_config set. Only PDF documents are
402
+ # supported now, and each document must be up to 2MB large.
403
+ # Any given .JSONL file must be 100MB or smaller, and no more than 20
404
+ # files may be given.
405
+ # Sample in-line JSON Lines file (presented here with artificial line
406
+ # breaks, but the only actual line break is denoted by \n):
407
+ # {
408
+ # "id": "my_first_id",
409
+ # "text_snippet": { "content": "dog car cat"},
410
+ # "text_features": [
411
+ # {
412
+ # "text_segment": {"start_offset": 4, "end_offset": 6},
413
+ # "structural_type": PARAGRAPH,
414
+ # "bounding_poly": {
415
+ # "normalized_vertices": [
416
+ # {"x": 0.1, "y": 0.1},
417
+ # {"x": 0.1, "y": 0.3},
418
+ # {"x": 0.3, "y": 0.3},
419
+ # {"x": 0.3, "y": 0.1},
420
+ # ]
421
+ # },
422
+ # }
423
+ # ],
424
+ # }\n
425
+ # {
426
+ # "id": "2",
427
+ # "text_snippet": {
428
+ # "content": "An elaborate content",
429
+ # "mime_type": "text/plain"
430
+ # }
431
+ # }
432
+ # Sample document JSON Lines file (presented here with artificial line
433
+ # breaks, but the only actual line break is denoted by \n).:
434
+ # {
435
+ # "document": {
436
+ # "input_config": {
437
+ # "gcs_source": { "input_uris": [ "gs://folder/document1.pdf" ]
438
+ # }
439
+ # }
440
+ # }
441
+ # }\n
442
+ # {
443
+ # "document": {
444
+ # "input_config": {
445
+ # "gcs_source": { "input_uris": [ "gs://folder/document2.pdf" ]
446
+ # }
447
+ # }
448
+ # }
449
+ # }
450
+ #
451
+ # * For Tables:
452
+ # Either
453
+ # {Google::Cloud::AutoML::V1beta1::InputConfig#gcs_source gcs_source} or
454
+ #
455
+ # {Google::Cloud::AutoML::V1beta1::InputConfig#bigquery_source bigquery_source}.
456
+ # GCS case:
457
+ # CSV file(s), each by itself 10GB or smaller and total size must be
458
+ # 100GB or smaller, where first file must have a header containing
459
+ # column names. If the first row of a subsequent file is the same as
460
+ # the header, then it is also treated as a header. All other rows
461
+ # contain values for the corresponding columns. For all
462
+ # CLASSIFICATION and REGRESSION
463
+ #
464
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type-s}:
465
+ # The column names must contain the model's
466
+ #
467
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#input_feature_column_specs input_feature_column_specs'}
468
+ #
469
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
470
+ # (order doesn't matter). The columns corresponding to the model's
471
+ # input feature column specs must contain values compatible with
472
+ # the column spec's data types. Prediction on all the rows, i.e.
473
+ # the CSV lines, will be attempted. First three sample rows of a
474
+ # CSV file:
475
+ # "First Name","Last Name","Dob","Addresses"
476
+ #
477
+ # "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"}]"
478
+ #
479
+ # "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"}]}
480
+ # For FORECASTING
481
+ #
482
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type}:
483
+ # The column names must contain the union of the model's
484
+ #
485
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#input_feature_column_specs input_feature_column_specs'}
486
+ #
487
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
488
+ # and
489
+ #
490
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs'}
491
+ #
492
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}
493
+ # (order doesn't matter), with values compatible with these column
494
+ # specs data types, except as specified below.
495
+ # The input rows must contain not only the to-be-predicted rows
496
+ # but also the historical data rows, even if they would be
497
+ # identical as the ones on which the model has been trained.
498
+ # The historical rows must have non-NULL target column
499
+ # values. The to-be-predicted rows must have NULL values in the
500
+ # target column and all columns having
501
+ #
502
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec::ForecastingMetadata::ColumnType::KEY TIME_SERIES_AVAILABLE_PAST_ONLY}
503
+ # type, regardless if these columns are
504
+ # {Google::Cloud::AutoML::V1beta1::DataType#nullable nullable}.
505
+ # Prediction only on the to-be-predicted rows will be attempted.
506
+ # First four sample rows of a CSV file:
507
+ #
508
+ # "Year","City","OlympicsThatYear","Population","WaterUsedGigaGallons"
509
+ # "2000","NYC","true","8008278","452.7"
510
+ # "2001","NYC","false","8024963","432.2"
511
+ # "2002","NYC","true","",""
512
+ # BigQuery case:
513
+ # An URI of a BigQuery table. The user data size of the BigQuery
514
+ # table must be 100GB or smaller.
515
+ # For all CLASSIFICATION and REGRESSION
516
+ #
517
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type-s}:
518
+ # The column names must contain the model's
519
+ #
520
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#input_feature_column_specs input_feature_column_specs'}
521
+ #
522
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
523
+ # (order doesn't matter). The columns corresponding to the model's
524
+ # input feature column specs must contain values compatible with
525
+ # the column spec's data types. Prediction on all the rows of the
526
+ # table will be attempted.
527
+ # For FORECASTING
528
+ #
529
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type}:
530
+ # The column names must contain the union of the model's
531
+ #
532
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#input_feature_column_specs input_feature_column_specs'}
533
+ #
534
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
535
+ # and
536
+ #
537
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs'}
538
+ #
539
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}
540
+ # (order doesn't matter), with values compatible with these column
541
+ # specs data types, except as specified below.
542
+ # The table's rows must contain not only the to-be-predicted rows
543
+ # but also the historical data rows, even if they would be
544
+ # identical as the ones on which the model has been trained.
545
+ # The historical rows must have non-NULL target column values.
546
+ # The to-be-predicted rows must have NULL values in the
547
+ # target column and all columns having
548
+ #
549
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec::ForecastingMetadata::ColumnType::KEY TIME_SERIES_AVAILABLE_PAST_ONLY}
550
+ # type, regardless if these columns are
551
+ # {Google::Cloud::AutoML::V1beta1::DataType#nullable nullable}.
552
+ # Prediction only on the to-be-predicted rows will be attempted.
553
+ #
554
+ # Definitions:
555
+ # GCS_FILE_PATH = A path to file on GCS, e.g. "gs://folder/video.avi".
556
+ # TIME_SEGMENT_START = TIME_OFFSET
557
+ # Expresses a beginning, inclusive, of a time segment
558
+ # within an
559
+ # example that has a time dimension (e.g. video).
560
+ # TIME_SEGMENT_END = TIME_OFFSET
561
+ # Expresses an end, exclusive, of a time segment within
562
+ # an example that has a time dimension (e.g. video).
563
+ # TIME_OFFSET = A number of seconds as measured from the start of an
564
+ # example (e.g. video). Fractions are allowed, up to a
565
+ # microsecond precision. "inf" is allowed and it means the end
566
+ # of the example.
567
+ #
568
+ # Errors:
569
+ # If any of the provided CSV files can't be parsed or if more than certain
570
+ # percent of CSV rows cannot be processed then the operation fails and
571
+ # prediction does not happen. Regardless of overall success or failure the
572
+ # per-row failures, up to a certain count cap, will be listed in
573
+ # Operation.metadata.partial_failures.
574
+ # @!attribute [rw] gcs_source
575
+ # @return [Google::Cloud::AutoML::V1beta1::GcsSource]
576
+ # The Google Cloud Storage location for the input content.
577
+ # @!attribute [rw] bigquery_source
578
+ # @return [Google::Cloud::AutoML::V1beta1::BigQuerySource]
579
+ # The BigQuery location for the input content.
580
+ class BatchPredictInputConfig; end
581
+
582
+ # Input configuration of a {Google::Cloud::AutoML::V1beta1::Document Document}.
583
+ # @!attribute [rw] gcs_source
584
+ # @return [Google::Cloud::AutoML::V1beta1::GcsSource]
585
+ # The Google Cloud Storage location of the document file. Only a single path
586
+ # should be given.
587
+ # Max supported size: 512MB.
588
+ # Supported extensions: .PDF.
589
+ class DocumentInputConfig; end
590
+
591
+ # * For Translation:
592
+ # CSV file `translation.csv`, with each line in format:
593
+ # ML_USE,GCS_FILE_PATH
594
+ # GCS_FILE_PATH leads to a .TSV file which describes examples that have
595
+ # given ML_USE, using the following row format per line:
596
+ # TEXT_SNIPPET (in source language) \t TEXT_SNIPPET (in target
597
+ # language)
598
+ #
599
+ # * For Tables:
600
+ # Output depends on whether the dataset was imported from GCS or
601
+ # BigQuery.
602
+ # GCS case:
603
+ #
604
+ # {Google::Cloud::AutoML::V1beta1::OutputConfig#gcs_destination gcs_destination}
605
+ # must be set. Exported are CSV file(s) `tables_1.csv`,
606
+ # `tables_2.csv`,...,`tables_N.csv` with each having as header line
607
+ # the table's column names, and all other lines contain values for
608
+ # the header columns.
609
+ # BigQuery case:
610
+ #
611
+ # {Google::Cloud::AutoML::V1beta1::OutputConfig#bigquery_destination bigquery_destination}
612
+ # pointing to a BigQuery project must be set. In the given project a
613
+ # new dataset will be created with name
614
+ #
615
+ # `export_data_<automl-dataset-display-name>_<timestamp-of-export-call>`
616
+ # where <automl-dataset-display-name> will be made
617
+ # BigQuery-dataset-name compatible (e.g. most special characters will
618
+ # become underscores), and timestamp will be in
619
+ # YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. In that
620
+ # dataset a new table called `primary_table` will be created, and
621
+ # filled with precisely the same data as this obtained on import.
622
+ # @!attribute [rw] gcs_destination
623
+ # @return [Google::Cloud::AutoML::V1beta1::GcsDestination]
624
+ # The Google Cloud Storage location where the output is to be written to.
625
+ # For Image Object Detection, Text Extraction, Video Classification and
626
+ # Tables, in the given directory a new directory will be created with name:
627
+ # export_data-<dataset-display-name>-<timestamp-of-export-call> where
628
+ # timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export
629
+ # output will be written into that directory.
630
+ # @!attribute [rw] bigquery_destination
631
+ # @return [Google::Cloud::AutoML::V1beta1::BigQueryDestination]
632
+ # The BigQuery location where the output is to be written to.
633
+ class OutputConfig; end
634
+
635
+ # Output configuration for BatchPredict Action.
636
+ #
637
+ # As destination the
638
+ #
639
+ # {Google::Cloud::AutoML::V1beta1::BatchPredictOutputConfig#gcs_destination gcs_destination}
640
+ # must be set unless specified otherwise for a domain. If gcs_destination is
641
+ # set then in the given directory a new directory will be created. Its name
642
+ # will be
643
+ # "prediction-<model-display-name>-<timestamp-of-prediction-call>",
644
+ # where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. The contents
645
+ # of it depends on the ML problem the predictions are made for.
646
+ # * For Video Classification:
647
+ # In the created directory a video_classification.csv file, and a .JSON
648
+ # file per each video classification requested in the input (i.e. each
649
+ # line in given CSV(s)), will be created.
650
+ #
651
+ # The format of video_classification.csv is:
652
+ #
653
+ # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END,JSON_FILE_NAME,STATUS
654
+ # where:
655
+ # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END = matches 1 to 1
656
+ # the prediction input lines (i.e. video_classification.csv has
657
+ # precisely the same number of lines as the prediction input had.)
658
+ # JSON_FILE_NAME = Name of .JSON file in the output directory, which
659
+ # contains prediction responses for the video time segment.
660
+ # STATUS = "OK" if prediction completed successfully, or an error code
661
+ # with message otherwise. If STATUS is not "OK" then the .JSON file
662
+ # for that line may not exist or be empty.
663
+ #
664
+ # Each .JSON file, assuming STATUS is "OK", will contain a list of
665
+ # AnnotationPayload protos in JSON format, which are the predictions
666
+ # for the video time segment the file is assigned to in the
667
+ # video_classification.csv. All AnnotationPayload protos will have
668
+ # video_classification field set, and will be sorted by
669
+ # video_classification.type field (note that the returned types are
670
+ # governed by `classifaction_types` parameter in
671
+ # {PredictService::BatchPredictRequest#params}).
672
+ #
673
+ # * For Video Object Tracking:
674
+ # In the created directory a video_object_tracking.csv file will be
675
+ # created, and multiple files video_object_trackinng_1.json,
676
+ # video_object_trackinng_2.json,..., video_object_trackinng_N.json,
677
+ # where N is the number of requests in the input (i.e. the number of
678
+ # lines in given CSV(s)).
679
+ #
680
+ # The format of video_object_tracking.csv is:
681
+ #
682
+ # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END,JSON_FILE_NAME,STATUS
683
+ # where:
684
+ # GCS_FILE_PATH,TIME_SEGMENT_START,TIME_SEGMENT_END = matches 1 to 1
685
+ # the prediction input lines (i.e. video_object_tracking.csv has
686
+ # precisely the same number of lines as the prediction input had.)
687
+ # JSON_FILE_NAME = Name of .JSON file in the output directory, which
688
+ # contains prediction responses for the video time segment.
689
+ # STATUS = "OK" if prediction completed successfully, or an error
690
+ # code with message otherwise. If STATUS is not "OK" then the .JSON
691
+ # file for that line may not exist or be empty.
692
+ #
693
+ # Each .JSON file, assuming STATUS is "OK", will contain a list of
694
+ # AnnotationPayload protos in JSON format, which are the predictions
695
+ # for each frame of the video time segment the file is assigned to in
696
+ # video_object_tracking.csv. All AnnotationPayload protos will have
697
+ # video_object_tracking field set.
698
+ # * For Text Extraction:
699
+ # In the created directory files `text_extraction_1.jsonl`,
700
+ # `text_extraction_2.jsonl`,...,`text_extraction_N.jsonl`
701
+ # will be created, where N may be 1, and depends on the
702
+ # total number of inputs and annotations found.
703
+ # The contents of these .JSONL file(s) depend on whether the input
704
+ # used inline text, or documents.
705
+ # If input was inline, then each .JSONL file will contain, per line,
706
+ # a JSON representation of a proto that wraps given in request text
707
+ # snippet's "id" : "<id_value>" followed by a list of zero or more
708
+ # AnnotationPayload protos (called annotations), which have
709
+ # text_extraction detail populated. A single text snippet will be
710
+ # listed only once with all its annotations, and its annotations will
711
+ # never be split across files.
712
+ # If input used documents, then each .JSONL file will contain, per
713
+ # line, a JSON representation of a proto that wraps given in request
714
+ # document proto, followed by its OCR-ed representation in the form
715
+ # of a text snippet, finally followed by a list of zero or more
716
+ # AnnotationPayload protos (called annotations), which have
717
+ # text_extraction detail populated and refer, via their indices, to
718
+ # the OCR-ed text snippet. A single document (and its text snippet)
719
+ # will be listed only once with all its annotations, and its
720
+ # annotations will never be split across files.
721
+ # If prediction for any text snippet failed (partially or completely),
722
+ # then additional `errors_1.jsonl`, `errors_2.jsonl`,...,
723
+ # `errors_N.jsonl` files will be created (N depends on total number of
724
+ # failed predictions). These files will have a JSON representation of a
725
+ # proto that wraps either the "id" : "<id_value>" (in case of inline)
726
+ # or the document proto (in case of document) but here followed by
727
+ # exactly one
728
+ #
729
+ # [`google.rpc.Status`](https:
730
+ # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
731
+ # containing only `code` and `message`.
732
+ #
733
+ # * For Tables:
734
+ # Output depends on whether
735
+ #
736
+ # {Google::Cloud::AutoML::V1beta1::BatchPredictOutputConfig#gcs_destination gcs_destination}
737
+ # or
738
+ #
739
+ # {Google::Cloud::AutoML::V1beta1::BatchPredictOutputConfig#bigquery_destination bigquery_destination}
740
+ # is set (either is allowed).
741
+ # GCS case:
742
+ # In the created directory files `tables_1.csv`, `tables_2.csv`,...,
743
+ # `tables_N.csv` will be created, where N may be 1, and depends on
744
+ # the total number of the successfully predicted rows.
745
+ # For all CLASSIFICATION
746
+ #
747
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type-s}:
748
+ # Each .csv file will contain a header, listing all columns'
749
+ #
750
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
751
+ # given on input followed by M target column names in the format of
752
+ #
753
+ # "<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
754
+ #
755
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>_<target
756
+ # value>_score" where M is the number of distinct target values,
757
+ # i.e. number of distinct values in the target column of the table
758
+ # used to train the model. Subsequent lines will contain the
759
+ # respective values of successfully predicted rows, with the last,
760
+ # i.e. the target, columns having the corresponding prediction
761
+ # {Google::Cloud::AutoML::V1beta1::TablesAnnotation#score scores}.
762
+ # For REGRESSION and FORECASTING
763
+ #
764
+ # {Google::Cloud::AutoML::V1beta1::TablesModelMetadata#prediction_type prediction_type-s}:
765
+ # Each .csv file will contain a header, listing all columns'
766
+ # {Google::Cloud::AutoML::V1beta1::Display_name display_name-s} given
767
+ # on input followed by the predicted target column with name in the
768
+ # format of
769
+ #
770
+ # "predicted_<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
771
+ #
772
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>"
773
+ # Subsequent lines will contain the respective values of
774
+ # successfully predicted rows, with the last, i.e. the target,
775
+ # column having the predicted target value.
776
+ # If prediction for any rows failed, then an additional
777
+ # `errors_1.csv`, `errors_2.csv`,..., `errors_N.csv` will be
778
+ # created (N depends on total number of failed rows). These files
779
+ # will have analogous format as `tables_*.csv`, but always with a
780
+ # single target column having
781
+ #
782
+ # [`google.rpc.Status`](https:
783
+ # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
784
+ # represented as a JSON string, and containing only `code` and
785
+ # `message`.
786
+ # BigQuery case:
787
+ #
788
+ # {Google::Cloud::AutoML::V1beta1::OutputConfig#bigquery_destination bigquery_destination}
789
+ # pointing to a BigQuery project must be set. In the given project a
790
+ # new dataset will be created with name
791
+ # `prediction_<model-display-name>_<timestamp-of-prediction-call>`
792
+ # where <model-display-name> will be made
793
+ # BigQuery-dataset-name compatible (e.g. most special characters will
794
+ # become underscores), and timestamp will be in
795
+ # YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. In the dataset
796
+ # two tables will be created, `predictions`, and `errors`.
797
+ # The `predictions` table's column names will be the input columns'
798
+ #
799
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name-s}
800
+ # followed by the target column with name in the format of
801
+ #
802
+ # "predicted_<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
803
+ #
804
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>"
805
+ # The input feature columns will contain the respective values of
806
+ # successfully predicted rows, with the target column having an
807
+ # ARRAY of
808
+ #
809
+ # {Google::Cloud::AutoML::V1beta1::AnnotationPayload AnnotationPayloads},
810
+ # represented as STRUCT-s, containing
811
+ # {Google::Cloud::AutoML::V1beta1::TablesAnnotation TablesAnnotation}.
812
+ # The `errors` table contains rows for which the prediction has
813
+ # failed, it has analogous input columns while the target column name
814
+ # is in the format of
815
+ #
816
+ # "errors_<{Google::Cloud::AutoML::V1beta1::TablesModelMetadata#target_column_spec target_column_specs}
817
+ #
818
+ # {Google::Cloud::AutoML::V1beta1::ColumnSpec#display_name display_name}>",
819
+ # and as a value has
820
+ #
821
+ # [`google.rpc.Status`](https:
822
+ # //github.com/googleapis/googleapis/blob/master/google/rpc/status.proto)
823
+ # represented as a STRUCT, and containing only `code` and `message`.
824
+ # @!attribute [rw] gcs_destination
825
+ # @return [Google::Cloud::AutoML::V1beta1::GcsDestination]
826
+ # The Google Cloud Storage location of the directory where the output is to
827
+ # be written to.
828
+ # @!attribute [rw] bigquery_destination
829
+ # @return [Google::Cloud::AutoML::V1beta1::BigQueryDestination]
830
+ # The BigQuery location where the output is to be written to.
831
+ class BatchPredictOutputConfig; end
832
+
833
+ # Output configuration for ModelExport Action.
834
+ # @!attribute [rw] gcs_destination
835
+ # @return [Google::Cloud::AutoML::V1beta1::GcsDestination]
836
+ # The Google Cloud Storage location where the model is to be written to.
837
+ # This location may only be set for the following model formats:
838
+ # "tflite", "edgetpu_tflite", "core_ml", "docker".
839
+ #
840
+ # Under the directory given as the destination a new one with name
841
+ # "model-export-<model-display-name>-<timestamp-of-export-call>",
842
+ # where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format,
843
+ # will be created. Inside the model and any of its supporting files
844
+ # will be written.
845
+ # @!attribute [rw] gcr_destination
846
+ # @return [Google::Cloud::AutoML::V1beta1::GcrDestination]
847
+ # The GCR location where model image is to be pushed to. This location
848
+ # may only be set for the following model formats:
849
+ # "docker".
850
+ #
851
+ # The model image will be created under the given URI.
852
+ # @!attribute [rw] model_format
853
+ # @return [String]
854
+ # The format in which the model must be exported. The available, and default,
855
+ # formats depend on the problem and model type (if given problem and type
856
+ # combination doesn't have a format listed, it means its models are not
857
+ # exportable):
858
+ #
859
+ # * For Image Classification mobile-low-latency-1, mobile-versatile-1,
860
+ # mobile-high-accuracy-1:
861
+ # "tflite" (default), "edgetpu_tflite", "tf_saved_model", "docker".
862
+ #
863
+ # * For Image Classification mobile-core-ml-low-latency-1,
864
+ # mobile-core-ml-versatile-1, mobile-core-ml-high-accuracy-1:
865
+ # "core_ml" (default).
866
+ # Formats description:
867
+ #
868
+ # * tflite - Used for Android mobile devices.
869
+ # * edgetpu_tflite - Used for [Edge TPU](https://cloud.google.com/edge-tpu/)
870
+ # devices.
871
+ # * tf_saved_model - A tensorflow model in SavedModel format.
872
+ # * docker - Used for Docker containers. Use the params field to customize
873
+ # the container. The container is verified to work correctly on
874
+ # ubuntu 16.04 operating system. See more at
875
+ # [containers quickstart](https://cloud.google.com/vision/automl/docs/containers-gcs-quickstart)
876
+ # * core_ml - Used for iOS mobile devices.
877
+ # @!attribute [rw] params
878
+ # @return [Hash{String => String}]
879
+ # Additional model-type and format specific parameters describing the
880
+ # requirements for the to be exported model files, any string must be up to
881
+ # 25000 characters long.
882
+ #
883
+ # * For `docker` format:
884
+ # `cpu_architecture` - (string) "x86_64" (default).
885
+ # `gpu_architecture` - (string) "none" (default), "nvidia".
886
+ class ModelExportOutputConfig; end
887
+
888
+ # Output configuration for ExportEvaluatedExamples Action. Note that this call
889
+ # is available only for 30 days since the moment the model was evaluated.
890
+ # The output depends on the domain, as follows (note that only examples from
891
+ # the TEST set are exported):
892
+ #
893
+ # * For Tables:
894
+ #
895
+ # {Google::Cloud::AutoML::V1beta1::OutputConfig#bigquery_destination bigquery_destination}
896
+ # pointing to a BigQuery project must be set. In the given project a
897
+ # new dataset will be created with name
898
+ #
899
+ # `export_evaluated_examples_<model-display-name>_<timestamp-of-export-call>`
900
+ # where <model-display-name> will be made BigQuery-dataset-name
901
+ # compatible (e.g. most special characters will become underscores),
902
+ # and timestamp will be in YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601"
903
+ # format. In the dataset an `evaluated_examples` table will be
904
+ # created. It will have all the same columns as the
905
+ #
906
+ # {Google::Cloud::AutoML::V1beta1::TablesDatasetMetadata#primary_table_spec_id primary_table}
907
+ # of the
908
+ # {Google::Cloud::AutoML::V1beta1::Model#dataset_id dataset} from which
909
+ # the model was created, as they were at the moment of model's
910
+ # evaluation (this includes the target column with its ground
911
+ # truth), followed by a column called "predicted_<target_column>". That
912
+ # last column will contain the model's prediction result for each
913
+ # respective row, given as ARRAY of
914
+ # {Google::Cloud::AutoML::V1beta1::AnnotationPayload AnnotationPayloads},
915
+ # represented as STRUCT-s, containing
916
+ # {Google::Cloud::AutoML::V1beta1::TablesAnnotation TablesAnnotation}.
917
+ # @!attribute [rw] bigquery_destination
918
+ # @return [Google::Cloud::AutoML::V1beta1::BigQueryDestination]
919
+ # The BigQuery location where the output is to be written to.
920
+ class ExportEvaluatedExamplesOutputConfig; end
921
+
922
+ # The Google Cloud Storage location for the input content.
923
+ # @!attribute [rw] input_uris
924
+ # @return [Array<String>]
925
+ # Required. Google Cloud Storage URIs to input files, up to 2000 characters
926
+ # long. Accepted forms:
927
+ # * Full object path, e.g. gs://bucket/directory/object.csv
928
+ class GcsSource; end
929
+
930
+ # The BigQuery location for the input content.
931
+ # @!attribute [rw] input_uri
932
+ # @return [String]
933
+ # Required. BigQuery URI to a table, up to 2000 characters long.
934
+ # Accepted forms:
935
+ # * BigQuery path e.g. bq://projectId.bqDatasetId.bqTableId
936
+ class BigQuerySource; end
937
+
938
+ # The Google Cloud Storage location where the output is to be written to.
939
+ # @!attribute [rw] output_uri_prefix
940
+ # @return [String]
941
+ # Required. Google Cloud Storage URI to output directory, up to 2000
942
+ # characters long.
943
+ # Accepted forms:
944
+ # * Prefix path: gs://bucket/directory
945
+ # The requesting user must have write permission to the bucket.
946
+ # The directory is created if it doesn't exist.
947
+ class GcsDestination; end
948
+
949
+ # The BigQuery location for the output content.
950
+ # @!attribute [rw] output_uri
951
+ # @return [String]
952
+ # Required. BigQuery URI to a project, up to 2000 characters long.
953
+ # Accepted forms:
954
+ # * BigQuery path e.g. bq://projectId
955
+ class BigQueryDestination; end
956
+
957
+ # The GCR location where the image must be pushed to.
958
+ # @!attribute [rw] output_uri
959
+ # @return [String]
960
+ # Required. Google Contained Registry URI of the new image, up to 2000
961
+ # characters long. See
962
+ #
963
+ # https:
964
+ # //cloud.google.com/container-registry/do
965
+ # // cs/pushing-and-pulling#pushing_an_image_to_a_registry
966
+ # Accepted forms:
967
+ # * [HOSTNAME]/[PROJECT-ID]/[IMAGE]
968
+ # * [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
969
+ #
970
+ # The requesting user must have permission to push images the project.
971
+ class GcrDestination; end
972
+ end
973
+ end
974
+ end
975
+ end