All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.googlenative.datalabeling.v1beta1.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1BoundingPolyConfigResponse;
import com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1EvaluationConfigResponse;
import com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1EvaluationJobAlertConfigResponse;
import com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1HumanAnnotationConfigResponse;
import com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1ImageClassificationConfigResponse;
import com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1InputConfigResponse;
import com.pulumi.googlenative.datalabeling.v1beta1.outputs.GoogleCloudDatalabelingV1beta1TextClassificationConfigResponse;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;

@CustomType
public final class GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse {
    /**
     * @return Prediction keys that tell Data Labeling Service where to find the data for evaluation in your BigQuery table. When the service samples prediction input and output from your model version and saves it to BigQuery, the data gets stored as JSON strings in the BigQuery table. These keys tell Data Labeling Service how to parse the JSON. You can provide the following entries in this field: * `data_json_key`: the data key for prediction input. You must provide either this key or `reference_json_key`. * `reference_json_key`: the data reference key for prediction input. You must provide either this key or `data_json_key`. * `label_json_key`: the label key for prediction output. Required. * `label_score_json_key`: the score key for prediction output. Required. * `bounding_box_json_key`: the bounding box key for prediction output. Required if your model version perform image object detection. Learn [how to configure prediction keys](/ml-engine/docs/continuous-evaluation/create-job#prediction-keys).
     * 
     */
    private Map bigqueryImportKeys;
    /**
     * @return Specify this field if your model version performs image object detection (bounding box detection). `annotationSpecSet` in this configuration must match EvaluationJob.annotationSpecSet.
     * 
     */
    private GoogleCloudDatalabelingV1beta1BoundingPolyConfigResponse boundingPolyConfig;
    /**
     * @return Details for calculating evaluation metrics and creating Evaulations. If your model version performs image object detection, you must specify the `boundingBoxEvaluationOptions` field within this configuration. Otherwise, provide an empty object for this configuration.
     * 
     */
    private GoogleCloudDatalabelingV1beta1EvaluationConfigResponse evaluationConfig;
    /**
     * @return Optional. Configuration details for evaluation job alerts. Specify this field if you want to receive email alerts if the evaluation job finds that your predictions have low mean average precision during a run.
     * 
     */
    private GoogleCloudDatalabelingV1beta1EvaluationJobAlertConfigResponse evaluationJobAlertConfig;
    /**
     * @return The maximum number of predictions to sample and save to BigQuery during each evaluation interval. This limit overrides `example_sample_percentage`: even if the service has not sampled enough predictions to fulfill `example_sample_perecentage` during an interval, it stops sampling predictions when it meets this limit.
     * 
     */
    private Integer exampleCount;
    /**
     * @return Fraction of predictions to sample and save to BigQuery during each evaluation interval. For example, 0.1 means 10% of predictions served by your model version get saved to BigQuery.
     * 
     */
    private Double exampleSamplePercentage;
    /**
     * @return Optional. Details for human annotation of your data. If you set labelMissingGroundTruth to `true` for this evaluation job, then you must specify this field. If you plan to provide your own ground truth labels, then omit this field. Note that you must create an Instruction resource before you can specify this field. Provide the name of the instruction resource in the `instruction` field within this configuration.
     * 
     */
    private GoogleCloudDatalabelingV1beta1HumanAnnotationConfigResponse humanAnnotationConfig;
    /**
     * @return Specify this field if your model version performs image classification or general classification. `annotationSpecSet` in this configuration must match EvaluationJob.annotationSpecSet. `allowMultiLabel` in this configuration must match `classificationMetadata.isMultiLabel` in input_config.
     * 
     */
    private GoogleCloudDatalabelingV1beta1ImageClassificationConfigResponse imageClassificationConfig;
    /**
     * @return Rquired. Details for the sampled prediction input. Within this configuration, there are requirements for several fields: * `dataType` must be one of `IMAGE`, `TEXT`, or `GENERAL_DATA`. * `annotationType` must be one of `IMAGE_CLASSIFICATION_ANNOTATION`, `TEXT_CLASSIFICATION_ANNOTATION`, `GENERAL_CLASSIFICATION_ANNOTATION`, or `IMAGE_BOUNDING_BOX_ANNOTATION` (image object detection). * If your machine learning model performs classification, you must specify `classificationMetadata.isMultiLabel`. * You must specify `bigquerySource` (not `gcsSource`).
     * 
     */
    private GoogleCloudDatalabelingV1beta1InputConfigResponse inputConfig;
    /**
     * @return Specify this field if your model version performs text classification. `annotationSpecSet` in this configuration must match EvaluationJob.annotationSpecSet. `allowMultiLabel` in this configuration must match `classificationMetadata.isMultiLabel` in input_config.
     * 
     */
    private GoogleCloudDatalabelingV1beta1TextClassificationConfigResponse textClassificationConfig;

    private GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse() {}
    /**
     * @return Prediction keys that tell Data Labeling Service where to find the data for evaluation in your BigQuery table. When the service samples prediction input and output from your model version and saves it to BigQuery, the data gets stored as JSON strings in the BigQuery table. These keys tell Data Labeling Service how to parse the JSON. You can provide the following entries in this field: * `data_json_key`: the data key for prediction input. You must provide either this key or `reference_json_key`. * `reference_json_key`: the data reference key for prediction input. You must provide either this key or `data_json_key`. * `label_json_key`: the label key for prediction output. Required. * `label_score_json_key`: the score key for prediction output. Required. * `bounding_box_json_key`: the bounding box key for prediction output. Required if your model version perform image object detection. Learn [how to configure prediction keys](/ml-engine/docs/continuous-evaluation/create-job#prediction-keys).
     * 
     */
    public Map bigqueryImportKeys() {
        return this.bigqueryImportKeys;
    }
    /**
     * @return Specify this field if your model version performs image object detection (bounding box detection). `annotationSpecSet` in this configuration must match EvaluationJob.annotationSpecSet.
     * 
     */
    public GoogleCloudDatalabelingV1beta1BoundingPolyConfigResponse boundingPolyConfig() {
        return this.boundingPolyConfig;
    }
    /**
     * @return Details for calculating evaluation metrics and creating Evaulations. If your model version performs image object detection, you must specify the `boundingBoxEvaluationOptions` field within this configuration. Otherwise, provide an empty object for this configuration.
     * 
     */
    public GoogleCloudDatalabelingV1beta1EvaluationConfigResponse evaluationConfig() {
        return this.evaluationConfig;
    }
    /**
     * @return Optional. Configuration details for evaluation job alerts. Specify this field if you want to receive email alerts if the evaluation job finds that your predictions have low mean average precision during a run.
     * 
     */
    public GoogleCloudDatalabelingV1beta1EvaluationJobAlertConfigResponse evaluationJobAlertConfig() {
        return this.evaluationJobAlertConfig;
    }
    /**
     * @return The maximum number of predictions to sample and save to BigQuery during each evaluation interval. This limit overrides `example_sample_percentage`: even if the service has not sampled enough predictions to fulfill `example_sample_perecentage` during an interval, it stops sampling predictions when it meets this limit.
     * 
     */
    public Integer exampleCount() {
        return this.exampleCount;
    }
    /**
     * @return Fraction of predictions to sample and save to BigQuery during each evaluation interval. For example, 0.1 means 10% of predictions served by your model version get saved to BigQuery.
     * 
     */
    public Double exampleSamplePercentage() {
        return this.exampleSamplePercentage;
    }
    /**
     * @return Optional. Details for human annotation of your data. If you set labelMissingGroundTruth to `true` for this evaluation job, then you must specify this field. If you plan to provide your own ground truth labels, then omit this field. Note that you must create an Instruction resource before you can specify this field. Provide the name of the instruction resource in the `instruction` field within this configuration.
     * 
     */
    public GoogleCloudDatalabelingV1beta1HumanAnnotationConfigResponse humanAnnotationConfig() {
        return this.humanAnnotationConfig;
    }
    /**
     * @return Specify this field if your model version performs image classification or general classification. `annotationSpecSet` in this configuration must match EvaluationJob.annotationSpecSet. `allowMultiLabel` in this configuration must match `classificationMetadata.isMultiLabel` in input_config.
     * 
     */
    public GoogleCloudDatalabelingV1beta1ImageClassificationConfigResponse imageClassificationConfig() {
        return this.imageClassificationConfig;
    }
    /**
     * @return Rquired. Details for the sampled prediction input. Within this configuration, there are requirements for several fields: * `dataType` must be one of `IMAGE`, `TEXT`, or `GENERAL_DATA`. * `annotationType` must be one of `IMAGE_CLASSIFICATION_ANNOTATION`, `TEXT_CLASSIFICATION_ANNOTATION`, `GENERAL_CLASSIFICATION_ANNOTATION`, or `IMAGE_BOUNDING_BOX_ANNOTATION` (image object detection). * If your machine learning model performs classification, you must specify `classificationMetadata.isMultiLabel`. * You must specify `bigquerySource` (not `gcsSource`).
     * 
     */
    public GoogleCloudDatalabelingV1beta1InputConfigResponse inputConfig() {
        return this.inputConfig;
    }
    /**
     * @return Specify this field if your model version performs text classification. `annotationSpecSet` in this configuration must match EvaluationJob.annotationSpecSet. `allowMultiLabel` in this configuration must match `classificationMetadata.isMultiLabel` in input_config.
     * 
     */
    public GoogleCloudDatalabelingV1beta1TextClassificationConfigResponse textClassificationConfig() {
        return this.textClassificationConfig;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private Map bigqueryImportKeys;
        private GoogleCloudDatalabelingV1beta1BoundingPolyConfigResponse boundingPolyConfig;
        private GoogleCloudDatalabelingV1beta1EvaluationConfigResponse evaluationConfig;
        private GoogleCloudDatalabelingV1beta1EvaluationJobAlertConfigResponse evaluationJobAlertConfig;
        private Integer exampleCount;
        private Double exampleSamplePercentage;
        private GoogleCloudDatalabelingV1beta1HumanAnnotationConfigResponse humanAnnotationConfig;
        private GoogleCloudDatalabelingV1beta1ImageClassificationConfigResponse imageClassificationConfig;
        private GoogleCloudDatalabelingV1beta1InputConfigResponse inputConfig;
        private GoogleCloudDatalabelingV1beta1TextClassificationConfigResponse textClassificationConfig;
        public Builder() {}
        public Builder(GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.bigqueryImportKeys = defaults.bigqueryImportKeys;
    	      this.boundingPolyConfig = defaults.boundingPolyConfig;
    	      this.evaluationConfig = defaults.evaluationConfig;
    	      this.evaluationJobAlertConfig = defaults.evaluationJobAlertConfig;
    	      this.exampleCount = defaults.exampleCount;
    	      this.exampleSamplePercentage = defaults.exampleSamplePercentage;
    	      this.humanAnnotationConfig = defaults.humanAnnotationConfig;
    	      this.imageClassificationConfig = defaults.imageClassificationConfig;
    	      this.inputConfig = defaults.inputConfig;
    	      this.textClassificationConfig = defaults.textClassificationConfig;
        }

        @CustomType.Setter
        public Builder bigqueryImportKeys(Map bigqueryImportKeys) {
            this.bigqueryImportKeys = Objects.requireNonNull(bigqueryImportKeys);
            return this;
        }
        @CustomType.Setter
        public Builder boundingPolyConfig(GoogleCloudDatalabelingV1beta1BoundingPolyConfigResponse boundingPolyConfig) {
            this.boundingPolyConfig = Objects.requireNonNull(boundingPolyConfig);
            return this;
        }
        @CustomType.Setter
        public Builder evaluationConfig(GoogleCloudDatalabelingV1beta1EvaluationConfigResponse evaluationConfig) {
            this.evaluationConfig = Objects.requireNonNull(evaluationConfig);
            return this;
        }
        @CustomType.Setter
        public Builder evaluationJobAlertConfig(GoogleCloudDatalabelingV1beta1EvaluationJobAlertConfigResponse evaluationJobAlertConfig) {
            this.evaluationJobAlertConfig = Objects.requireNonNull(evaluationJobAlertConfig);
            return this;
        }
        @CustomType.Setter
        public Builder exampleCount(Integer exampleCount) {
            this.exampleCount = Objects.requireNonNull(exampleCount);
            return this;
        }
        @CustomType.Setter
        public Builder exampleSamplePercentage(Double exampleSamplePercentage) {
            this.exampleSamplePercentage = Objects.requireNonNull(exampleSamplePercentage);
            return this;
        }
        @CustomType.Setter
        public Builder humanAnnotationConfig(GoogleCloudDatalabelingV1beta1HumanAnnotationConfigResponse humanAnnotationConfig) {
            this.humanAnnotationConfig = Objects.requireNonNull(humanAnnotationConfig);
            return this;
        }
        @CustomType.Setter
        public Builder imageClassificationConfig(GoogleCloudDatalabelingV1beta1ImageClassificationConfigResponse imageClassificationConfig) {
            this.imageClassificationConfig = Objects.requireNonNull(imageClassificationConfig);
            return this;
        }
        @CustomType.Setter
        public Builder inputConfig(GoogleCloudDatalabelingV1beta1InputConfigResponse inputConfig) {
            this.inputConfig = Objects.requireNonNull(inputConfig);
            return this;
        }
        @CustomType.Setter
        public Builder textClassificationConfig(GoogleCloudDatalabelingV1beta1TextClassificationConfigResponse textClassificationConfig) {
            this.textClassificationConfig = Objects.requireNonNull(textClassificationConfig);
            return this;
        }
        public GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse build() {
            final var o = new GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse();
            o.bigqueryImportKeys = bigqueryImportKeys;
            o.boundingPolyConfig = boundingPolyConfig;
            o.evaluationConfig = evaluationConfig;
            o.evaluationJobAlertConfig = evaluationJobAlertConfig;
            o.exampleCount = exampleCount;
            o.exampleSamplePercentage = exampleSamplePercentage;
            o.humanAnnotationConfig = humanAnnotationConfig;
            o.imageClassificationConfig = imageClassificationConfig;
            o.inputConfig = inputConfig;
            o.textClassificationConfig = textClassificationConfig;
            return o;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy