# Path: google/cloud/datalabeling_v1beta1/types/dataset.py
# class DataType(proto.Enum):
# class Dataset(proto.Message):
# class InputConfig(proto.Message):
# class TextMetadata(proto.Message):
# class ClassificationMetadata(proto.Message):
# class GcsSource(proto.Message):
# class BigQuerySource(proto.Message):
# class OutputConfig(proto.Message):
# class GcsDestination(proto.Message):
# class GcsFolderDestination(proto.Message):
# class DataItem(proto.Message):
# class AnnotatedDataset(proto.Message):
# class LabelStats(proto.Message):
# class AnnotatedDatasetMetadata(proto.Message):
# class Example(proto.Message):
#     DATA_TYPE_UNSPECIFIED = 0
#     IMAGE = 1
#     VIDEO = 2
#     TEXT = 4
#     GENERAL_DATA = 6
# 
# Path: google/cloud/datalabeling_v1beta1/types/evaluation.py
# class Evaluation(proto.Message):
# class EvaluationConfig(proto.Message):
# class BoundingBoxEvaluationOptions(proto.Message):
# class EvaluationMetrics(proto.Message):
# class ClassificationMetrics(proto.Message):
# class ObjectDetectionMetrics(proto.Message):
# class PrCurve(proto.Message):
#     class ConfidenceMetricsEntry(proto.Message):
# class ConfusionMatrix(proto.Message):
#     class ConfusionMatrixEntry(proto.Message):
#     class Row(proto.Message):
# 
# Path: google/cloud/datalabeling_v1beta1/types/human_annotation_config.py
# class StringAggregationType(proto.Enum):
# class HumanAnnotationConfig(proto.Message):
# class ImageClassificationConfig(proto.Message):
# class BoundingPolyConfig(proto.Message):
# class PolylineConfig(proto.Message):
# class SegmentationConfig(proto.Message):
# class VideoClassificationConfig(proto.Message):
#     class AnnotationSpecSetConfig(proto.Message):
# class ObjectDetectionConfig(proto.Message):
# class ObjectTrackingConfig(proto.Message):
# class EventConfig(proto.Message):
# class TextClassificationConfig(proto.Message):
# class SentimentConfig(proto.Message):
# class TextEntityExtractionConfig(proto.Message):
#     STRING_AGGREGATION_TYPE_UNSPECIFIED = 0
#     MAJORITY_VOTE = 1
#     UNANIMOUS_VOTE = 2
#     NO_AGGREGATION = 3


import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import (
    human_annotation_config as gcd_human_annotation_config,
)
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore
            UTC. Only the interval from this schedule is used, not the
            specific time of day.
        model_version (str):
            Required. The `AI Platform Prediction model
            version </ml-engine/docs/prediction-overview>`__ to be
            evaluated. Prediction input and output is sampled from this
            model version. When creating an evaluation job, specify the
            model version in the following format:

            "projects/{project_id}/models/{model_name}/versions/{version_name}"

            There can only be one evaluation job per model version.
        evaluation_job_config (google.cloud.datalabeling_v1beta1.types.EvaluationJobConfig):
            Required. Configuration details for the
            evaluation job.
        annotation_spec_set (str):
            Required. Name of the
            [AnnotationSpecSet][google.cloud.datalabeling.v1beta1.AnnotationSpecSet]
            describing all the labels that your machine learning model
            outputs. You must create this resource before you create an
            evaluation job and provide its name in the following format:

            "projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}".
        label_missing_ground_truth (bool):
            Required. Whether you want Data Labeling Service to provide
            ground truth labels for prediction input. If you want the
            service to assign human labelers to annotate your data, set
            this to ``true``. If you want to provide your own ground
            truth labels in the evaluation job's BigQuery table, set
            this to ``false``.

# Path: google/cloud/datalabeling_v1beta1/types/dataset.py
# class DataType(proto.Enum):
# class Dataset(proto.Message):
# class InputConfig(proto.Message):
# class TextMetadata(proto.Message):
# class ClassificationMetadata(proto.Message):
# class GcsSource(proto.Message):
# class BigQuerySource(proto.Message):
# class OutputConfig(proto.Message):
# class GcsDestination(proto.Message):
# class GcsFolderDestination(proto.Message):
# class DataItem(proto.Message):
# class AnnotatedDataset(proto.Message):
# class LabelStats(proto.Message):
# class AnnotatedDatasetMetadata(proto.Message):
# class Example(proto.Message):
#     DATA_TYPE_UNSPECIFIED = 0
#     IMAGE = 1
#     VIDEO = 2
#     TEXT = 4
#     GENERAL_DATA = 6
# 
# Path: google/cloud/datalabeling_v1beta1/types/evaluation.py
# class Evaluation(proto.Message):
# class EvaluationConfig(proto.Message):
# class BoundingBoxEvaluationOptions(proto.Message):
# class EvaluationMetrics(proto.Message):
# class ClassificationMetrics(proto.Message):
# class ObjectDetectionMetrics(proto.Message):
# class PrCurve(proto.Message):
#     class ConfidenceMetricsEntry(proto.Message):
# class ConfusionMatrix(proto.Message):
#     class ConfusionMatrixEntry(proto.Message):
#     class Row(proto.Message):
# 
# Path: google/cloud/datalabeling_v1beta1/types/human_annotation_config.py
# class StringAggregationType(proto.Enum):
# class HumanAnnotationConfig(proto.Message):
# class ImageClassificationConfig(proto.Message):
# class BoundingPolyConfig(proto.Message):
# class PolylineConfig(proto.Message):
# class SegmentationConfig(proto.Message):
# class VideoClassificationConfig(proto.Message):
#     class AnnotationSpecSetConfig(proto.Message):
# class ObjectDetectionConfig(proto.Message):
# class ObjectTrackingConfig(proto.Message):
# class EventConfig(proto.Message):
# class TextClassificationConfig(proto.Message):
# class SentimentConfig(proto.Message):
# class TextEntityExtractionConfig(proto.Message):
#     STRING_AGGREGATION_TYPE_UNSPECIFIED = 0
#     MAJORITY_VOTE = 1
#     UNANIMOUS_VOTE = 2
#     NO_AGGREGATION = 3


# Path: google/cloud/datalabeling_v1beta1/types/evaluation_job.py
import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import (
    human_annotation_config as gcd_human_annotation_config,
)
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore

            UTC. Only the interval from this schedule is used, not the
            specific time of day.
        model_version (str):
            Required. The `AI Platform Prediction model
            version </ml-engine/docs/prediction-overview>`__ to be
            evaluated. Prediction input and output is sampled from this
            model version. When creating an evaluation job, specify the
            model version in the following format:

            "projects/{project_id}/models/{model_name}/versions/{version_name}"

            There can only be one evaluation job per model version.
        evaluation_job_config (google.cloud.datalabeling_v1beta1.types.EvaluationJobConfig):
            Required. Configuration details for the
            evaluation job.
        annotation_spec_set (str):
            Required. Name of the
            [AnnotationSpecSet][google.cloud.datalabeling.v1beta1.AnnotationSpecSet]
            describing all the labels that your machine learning model
            outputs. You must create this resource before you create an
            evaluation job and provide its name in the following format:

            "projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}".
        label_missing_ground_truth (bool):
            Required. Whether you want Data Labeling Service to provide
            ground truth labels for prediction input. If you want the
            service to assign human labelers to annotate your data, set
            this to ``true``. If you want to provide your own ground
            truth labels in the evaluation job's BigQuery table, set
            this to ``false``.

        attempts (Sequence[google.cloud.datalabeling_v1beta1.types.Attempt]):