123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347 |
- // Copyright 2019 Google LLC.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- //
- syntax = "proto3";
- package google.cloud.datalabeling.v1beta1;
- import "google/api/resource.proto";
- import "google/cloud/datalabeling/v1beta1/annotation.proto";
- import "google/cloud/datalabeling/v1beta1/annotation_spec_set.proto";
- import "google/cloud/datalabeling/v1beta1/data_payloads.proto";
- import "google/cloud/datalabeling/v1beta1/human_annotation_config.proto";
- import "google/protobuf/timestamp.proto";
- option csharp_namespace = "Google.Cloud.DataLabeling.V1Beta1";
- option go_package = "google.golang.org/genproto/googleapis/cloud/datalabeling/v1beta1;datalabeling";
- option java_multiple_files = true;
- option java_package = "com.google.cloud.datalabeling.v1beta1";
- option php_namespace = "Google\\Cloud\\DataLabeling\\V1beta1";
- option ruby_package = "Google::Cloud::DataLabeling::V1beta1";
- enum DataType {
- DATA_TYPE_UNSPECIFIED = 0;
- // Allowed for continuous evaluation.
- IMAGE = 1;
- VIDEO = 2;
- // Allowed for continuous evaluation.
- TEXT = 4;
- // Allowed for continuous evaluation.
- GENERAL_DATA = 6;
- }
- // Dataset is the resource to hold your data. You can request multiple labeling
- // tasks for a dataset while each one will generate an AnnotatedDataset.
- message Dataset {
- option (google.api.resource) = {
- type: "datalabeling.googleapis.com/Dataset"
- pattern: "projects/{project}/datasets/{dataset}"
- };
- // Output only. Dataset resource name, format is:
- // projects/{project_id}/datasets/{dataset_id}
- string name = 1;
- // Required. The display name of the dataset. Maximum of 64 characters.
- string display_name = 2;
- // Optional. User-provided description of the annotation specification set.
- // The description can be up to 10000 characters long.
- string description = 3;
- // Output only. Time the dataset is created.
- google.protobuf.Timestamp create_time = 4;
- // Output only. This is populated with the original input configs
- // where ImportData is called. It is available only after the clients
- // import data to this dataset.
- repeated InputConfig input_configs = 5;
- // Output only. The names of any related resources that are blocking changes
- // to the dataset.
- repeated string blocking_resources = 6;
- // Output only. The number of data items in the dataset.
- int64 data_item_count = 7;
- }
- // The configuration of input data, including data type, location, etc.
- message InputConfig {
- // Optional. The metadata associated with each data type.
- oneof data_type_metadata {
- // Required for text import, as language code must be specified.
- TextMetadata text_metadata = 6;
- }
- // Required. Where the data is from.
- oneof source {
- // Source located in Cloud Storage.
- GcsSource gcs_source = 2;
- // Source located in BigQuery. You must specify this field if you are using
- // this InputConfig in an [EvaluationJob][google.cloud.datalabeling.v1beta1.EvaluationJob].
- BigQuerySource bigquery_source = 5;
- }
- // Required. Data type must be specifed when user tries to import data.
- DataType data_type = 1;
- // Optional. The type of annotation to be performed on this data. You must
- // specify this field if you are using this InputConfig in an
- // [EvaluationJob][google.cloud.datalabeling.v1beta1.EvaluationJob].
- AnnotationType annotation_type = 3;
- // Optional. Metadata about annotations for the input. You must specify this
- // field if you are using this InputConfig in an [EvaluationJob][google.cloud.datalabeling.v1beta1.EvaluationJob] for a
- // model version that performs classification.
- ClassificationMetadata classification_metadata = 4;
- }
- // Metadata for the text.
- message TextMetadata {
- // The language of this text, as a
- // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
- // Default value is en-US.
- string language_code = 1;
- }
- // Metadata for classification annotations.
- message ClassificationMetadata {
- // Whether the classification task is multi-label or not.
- bool is_multi_label = 1;
- }
- // Source of the Cloud Storage file to be imported.
- message GcsSource {
- // Required. The input URI of source file. This must be a Cloud Storage path
- // (`gs://...`).
- string input_uri = 1;
- // Required. The format of the source file. Only "text/csv" is supported.
- string mime_type = 2;
- }
- // The BigQuery location for input data. If used in an [EvaluationJob][google.cloud.datalabeling.v1beta1.EvaluationJob], this
- // is where the service saves the prediction input and output sampled from the
- // model version.
- message BigQuerySource {
- // Required. BigQuery URI to a table, up to 2,000 characters long. If you
- // specify the URI of a table that does not exist, Data Labeling Service
- // creates a table at the URI with the correct schema when you create your
- // [EvaluationJob][google.cloud.datalabeling.v1beta1.EvaluationJob]. If you specify the URI of a table that already exists,
- // it must have the
- // [correct
- // schema](/ml-engine/docs/continuous-evaluation/create-job#table-schema).
- //
- // Provide the table URI in the following format:
- //
- // "bq://<var>{your_project_id}</var>/<var>{your_dataset_name}</var>/<var>{your_table_name}</var>"
- //
- // [Learn
- // more](/ml-engine/docs/continuous-evaluation/create-job#table-schema).
- string input_uri = 1;
- }
- // The configuration of output data.
- message OutputConfig {
- // Required. Location to output data to.
- oneof destination {
- // Output to a file in Cloud Storage. Should be used for labeling output
- // other than image segmentation.
- GcsDestination gcs_destination = 1;
- // Output to a folder in Cloud Storage. Should be used for image
- // segmentation labeling output.
- GcsFolderDestination gcs_folder_destination = 2;
- }
- }
- // Export destination of the data.Only gcs path is allowed in
- // output_uri.
- message GcsDestination {
- // Required. The output uri of destination file.
- string output_uri = 1;
- // Required. The format of the gcs destination. Only "text/csv" and
- // "application/json"
- // are supported.
- string mime_type = 2;
- }
- // Export folder destination of the data.
- message GcsFolderDestination {
- // Required. Cloud Storage directory to export data to.
- string output_folder_uri = 1;
- }
- // DataItem is a piece of data, without annotation. For example, an image.
- message DataItem {
- option (google.api.resource) = {
- type: "datalabeling.googleapis.com/DataItem"
- pattern: "projects/{project}/datasets/{dataset}/dataItems/{data_item}"
- };
- // Output only.
- oneof payload {
- // The image payload, a container of the image bytes/uri.
- ImagePayload image_payload = 2;
- // The text payload, a container of text content.
- TextPayload text_payload = 3;
- // The video payload, a container of the video uri.
- VideoPayload video_payload = 4;
- }
- // Output only. Name of the data item, in format of:
- // projects/{project_id}/datasets/{dataset_id}/dataItems/{data_item_id}
- string name = 1;
- }
- // AnnotatedDataset is a set holding annotations for data in a Dataset. Each
- // labeling task will generate an AnnotatedDataset under the Dataset that the
- // task is requested for.
- message AnnotatedDataset {
- option (google.api.resource) = {
- type: "datalabeling.googleapis.com/AnnotatedDataset"
- pattern: "projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}"
- };
- // Output only. AnnotatedDataset resource name in format of:
- // projects/{project_id}/datasets/{dataset_id}/annotatedDatasets/
- // {annotated_dataset_id}
- string name = 1;
- // Output only. The display name of the AnnotatedDataset. It is specified in
- // HumanAnnotationConfig when user starts a labeling task. Maximum of 64
- // characters.
- string display_name = 2;
- // Output only. The description of the AnnotatedDataset. It is specified in
- // HumanAnnotationConfig when user starts a labeling task. Maximum of 10000
- // characters.
- string description = 9;
- // Output only. Source of the annotation.
- AnnotationSource annotation_source = 3;
- // Output only. Type of the annotation. It is specified when starting labeling
- // task.
- AnnotationType annotation_type = 8;
- // Output only. Number of examples in the annotated dataset.
- int64 example_count = 4;
- // Output only. Number of examples that have annotation in the annotated
- // dataset.
- int64 completed_example_count = 5;
- // Output only. Per label statistics.
- LabelStats label_stats = 6;
- // Output only. Time the AnnotatedDataset was created.
- google.protobuf.Timestamp create_time = 7;
- // Output only. Additional information about AnnotatedDataset.
- AnnotatedDatasetMetadata metadata = 10;
- // Output only. The names of any related resources that are blocking changes
- // to the annotated dataset.
- repeated string blocking_resources = 11;
- }
- // Statistics about annotation specs.
- message LabelStats {
- // Map of each annotation spec's example count. Key is the annotation spec
- // name and value is the number of examples for that annotation spec.
- // If the annotated dataset does not have annotation spec, the map will return
- // a pair where the key is empty string and value is the total number of
- // annotations.
- map<string, int64> example_count = 1;
- }
- // Metadata on AnnotatedDataset.
- message AnnotatedDatasetMetadata {
- // Specific request configuration used when requesting the labeling task.
- oneof annotation_request_config {
- // Configuration for image classification task.
- ImageClassificationConfig image_classification_config = 2;
- // Configuration for image bounding box and bounding poly task.
- BoundingPolyConfig bounding_poly_config = 3;
- // Configuration for image polyline task.
- PolylineConfig polyline_config = 4;
- // Configuration for image segmentation task.
- SegmentationConfig segmentation_config = 5;
- // Configuration for video classification task.
- VideoClassificationConfig video_classification_config = 6;
- // Configuration for video object detection task.
- ObjectDetectionConfig object_detection_config = 7;
- // Configuration for video object tracking task.
- ObjectTrackingConfig object_tracking_config = 8;
- // Configuration for video event labeling task.
- EventConfig event_config = 9;
- // Configuration for text classification task.
- TextClassificationConfig text_classification_config = 10;
- // Configuration for text entity extraction task.
- TextEntityExtractionConfig text_entity_extraction_config = 11;
- }
- // HumanAnnotationConfig used when requesting the human labeling task for this
- // AnnotatedDataset.
- HumanAnnotationConfig human_annotation_config = 1;
- }
- // An Example is a piece of data and its annotation. For example, an image with
- // label "house".
- message Example {
- option (google.api.resource) = {
- type: "datalabeling.googleapis.com/Example"
- pattern: "projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}/examples/{example}"
- };
- // Output only. The data part of Example.
- oneof payload {
- // The image payload, a container of the image bytes/uri.
- ImagePayload image_payload = 2;
- // The text payload, a container of the text content.
- TextPayload text_payload = 6;
- // The video payload, a container of the video uri.
- VideoPayload video_payload = 7;
- }
- // Output only. Name of the example, in format of:
- // projects/{project_id}/datasets/{dataset_id}/annotatedDatasets/
- // {annotated_dataset_id}/examples/{example_id}
- string name = 1;
- // Output only. Annotations for the piece of data in Example.
- // One piece of data can have multiple annotations.
- repeated Annotation annotations = 5;
- }
|