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

com.pulumi.azurenative.machinelearningservices.inputs.ImageInstanceSegmentationArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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.azurenative.machinelearningservices.inputs;

import com.pulumi.azurenative.machinelearningservices.enums.InstanceSegmentationPrimaryMetrics;
import com.pulumi.azurenative.machinelearningservices.enums.LogVerbosity;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageLimitSettingsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageModelDistributionSettingsObjectDetectionArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageModelSettingsObjectDetectionArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.ImageSweepSettingsArgs;
import com.pulumi.azurenative.machinelearningservices.inputs.MLTableJobInputArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Image Instance Segmentation. Instance segmentation is used to identify objects in an image at the pixel level,
 * drawing a polygon around each object in the image.
 * 
 */
public final class ImageInstanceSegmentationArgs extends com.pulumi.resources.ResourceArgs {

    public static final ImageInstanceSegmentationArgs Empty = new ImageInstanceSegmentationArgs();

    /**
     * [Required] Limit settings for the AutoML job.
     * 
     */
    @Import(name="limitSettings", required=true)
    private Output limitSettings;

    /**
     * @return [Required] Limit settings for the AutoML job.
     * 
     */
    public Output limitSettings() {
        return this.limitSettings;
    }

    /**
     * Log verbosity for the job.
     * 
     */
    @Import(name="logVerbosity")
    private @Nullable Output> logVerbosity;

    /**
     * @return Log verbosity for the job.
     * 
     */
    public Optional>> logVerbosity() {
        return Optional.ofNullable(this.logVerbosity);
    }

    /**
     * Settings used for training the model.
     * 
     */
    @Import(name="modelSettings")
    private @Nullable Output modelSettings;

    /**
     * @return Settings used for training the model.
     * 
     */
    public Optional> modelSettings() {
        return Optional.ofNullable(this.modelSettings);
    }

    /**
     * Primary metric to optimize for this task.
     * 
     */
    @Import(name="primaryMetric")
    private @Nullable Output> primaryMetric;

    /**
     * @return Primary metric to optimize for this task.
     * 
     */
    public Optional>> primaryMetric() {
        return Optional.ofNullable(this.primaryMetric);
    }

    /**
     * Search space for sampling different combinations of models and their hyperparameters.
     * 
     */
    @Import(name="searchSpace")
    private @Nullable Output> searchSpace;

    /**
     * @return Search space for sampling different combinations of models and their hyperparameters.
     * 
     */
    public Optional>> searchSpace() {
        return Optional.ofNullable(this.searchSpace);
    }

    /**
     * Model sweeping and hyperparameter sweeping related settings.
     * 
     */
    @Import(name="sweepSettings")
    private @Nullable Output sweepSettings;

    /**
     * @return Model sweeping and hyperparameter sweeping related settings.
     * 
     */
    public Optional> sweepSettings() {
        return Optional.ofNullable(this.sweepSettings);
    }

    /**
     * Target column name: This is prediction values column.
     * Also known as label column name in context of classification tasks.
     * 
     */
    @Import(name="targetColumnName")
    private @Nullable Output targetColumnName;

    /**
     * @return Target column name: This is prediction values column.
     * Also known as label column name in context of classification tasks.
     * 
     */
    public Optional> targetColumnName() {
        return Optional.ofNullable(this.targetColumnName);
    }

    /**
     * AutoMLJob Task type.
     * Expected value is 'ImageInstanceSegmentation'.
     * 
     */
    @Import(name="taskType", required=true)
    private Output taskType;

    /**
     * @return AutoMLJob Task type.
     * Expected value is 'ImageInstanceSegmentation'.
     * 
     */
    public Output taskType() {
        return this.taskType;
    }

    /**
     * [Required] Training data input.
     * 
     */
    @Import(name="trainingData", required=true)
    private Output trainingData;

    /**
     * @return [Required] Training data input.
     * 
     */
    public Output trainingData() {
        return this.trainingData;
    }

    /**
     * Validation data inputs.
     * 
     */
    @Import(name="validationData")
    private @Nullable Output validationData;

    /**
     * @return Validation data inputs.
     * 
     */
    public Optional> validationData() {
        return Optional.ofNullable(this.validationData);
    }

    /**
     * The fraction of training dataset that needs to be set aside for validation purpose.
     * Values between (0.0 , 1.0)
     * Applied when validation dataset is not provided.
     * 
     */
    @Import(name="validationDataSize")
    private @Nullable Output validationDataSize;

    /**
     * @return The fraction of training dataset that needs to be set aside for validation purpose.
     * Values between (0.0 , 1.0)
     * Applied when validation dataset is not provided.
     * 
     */
    public Optional> validationDataSize() {
        return Optional.ofNullable(this.validationDataSize);
    }

    private ImageInstanceSegmentationArgs() {}

    private ImageInstanceSegmentationArgs(ImageInstanceSegmentationArgs $) {
        this.limitSettings = $.limitSettings;
        this.logVerbosity = $.logVerbosity;
        this.modelSettings = $.modelSettings;
        this.primaryMetric = $.primaryMetric;
        this.searchSpace = $.searchSpace;
        this.sweepSettings = $.sweepSettings;
        this.targetColumnName = $.targetColumnName;
        this.taskType = $.taskType;
        this.trainingData = $.trainingData;
        this.validationData = $.validationData;
        this.validationDataSize = $.validationDataSize;
    }

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

    public static final class Builder {
        private ImageInstanceSegmentationArgs $;

        public Builder() {
            $ = new ImageInstanceSegmentationArgs();
        }

        public Builder(ImageInstanceSegmentationArgs defaults) {
            $ = new ImageInstanceSegmentationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param limitSettings [Required] Limit settings for the AutoML job.
         * 
         * @return builder
         * 
         */
        public Builder limitSettings(Output limitSettings) {
            $.limitSettings = limitSettings;
            return this;
        }

        /**
         * @param limitSettings [Required] Limit settings for the AutoML job.
         * 
         * @return builder
         * 
         */
        public Builder limitSettings(ImageLimitSettingsArgs limitSettings) {
            return limitSettings(Output.of(limitSettings));
        }

        /**
         * @param logVerbosity Log verbosity for the job.
         * 
         * @return builder
         * 
         */
        public Builder logVerbosity(@Nullable Output> logVerbosity) {
            $.logVerbosity = logVerbosity;
            return this;
        }

        /**
         * @param logVerbosity Log verbosity for the job.
         * 
         * @return builder
         * 
         */
        public Builder logVerbosity(Either logVerbosity) {
            return logVerbosity(Output.of(logVerbosity));
        }

        /**
         * @param logVerbosity Log verbosity for the job.
         * 
         * @return builder
         * 
         */
        public Builder logVerbosity(String logVerbosity) {
            return logVerbosity(Either.ofLeft(logVerbosity));
        }

        /**
         * @param logVerbosity Log verbosity for the job.
         * 
         * @return builder
         * 
         */
        public Builder logVerbosity(LogVerbosity logVerbosity) {
            return logVerbosity(Either.ofRight(logVerbosity));
        }

        /**
         * @param modelSettings Settings used for training the model.
         * 
         * @return builder
         * 
         */
        public Builder modelSettings(@Nullable Output modelSettings) {
            $.modelSettings = modelSettings;
            return this;
        }

        /**
         * @param modelSettings Settings used for training the model.
         * 
         * @return builder
         * 
         */
        public Builder modelSettings(ImageModelSettingsObjectDetectionArgs modelSettings) {
            return modelSettings(Output.of(modelSettings));
        }

        /**
         * @param primaryMetric Primary metric to optimize for this task.
         * 
         * @return builder
         * 
         */
        public Builder primaryMetric(@Nullable Output> primaryMetric) {
            $.primaryMetric = primaryMetric;
            return this;
        }

        /**
         * @param primaryMetric Primary metric to optimize for this task.
         * 
         * @return builder
         * 
         */
        public Builder primaryMetric(Either primaryMetric) {
            return primaryMetric(Output.of(primaryMetric));
        }

        /**
         * @param primaryMetric Primary metric to optimize for this task.
         * 
         * @return builder
         * 
         */
        public Builder primaryMetric(String primaryMetric) {
            return primaryMetric(Either.ofLeft(primaryMetric));
        }

        /**
         * @param primaryMetric Primary metric to optimize for this task.
         * 
         * @return builder
         * 
         */
        public Builder primaryMetric(InstanceSegmentationPrimaryMetrics primaryMetric) {
            return primaryMetric(Either.ofRight(primaryMetric));
        }

        /**
         * @param searchSpace Search space for sampling different combinations of models and their hyperparameters.
         * 
         * @return builder
         * 
         */
        public Builder searchSpace(@Nullable Output> searchSpace) {
            $.searchSpace = searchSpace;
            return this;
        }

        /**
         * @param searchSpace Search space for sampling different combinations of models and their hyperparameters.
         * 
         * @return builder
         * 
         */
        public Builder searchSpace(List searchSpace) {
            return searchSpace(Output.of(searchSpace));
        }

        /**
         * @param searchSpace Search space for sampling different combinations of models and their hyperparameters.
         * 
         * @return builder
         * 
         */
        public Builder searchSpace(ImageModelDistributionSettingsObjectDetectionArgs... searchSpace) {
            return searchSpace(List.of(searchSpace));
        }

        /**
         * @param sweepSettings Model sweeping and hyperparameter sweeping related settings.
         * 
         * @return builder
         * 
         */
        public Builder sweepSettings(@Nullable Output sweepSettings) {
            $.sweepSettings = sweepSettings;
            return this;
        }

        /**
         * @param sweepSettings Model sweeping and hyperparameter sweeping related settings.
         * 
         * @return builder
         * 
         */
        public Builder sweepSettings(ImageSweepSettingsArgs sweepSettings) {
            return sweepSettings(Output.of(sweepSettings));
        }

        /**
         * @param targetColumnName Target column name: This is prediction values column.
         * Also known as label column name in context of classification tasks.
         * 
         * @return builder
         * 
         */
        public Builder targetColumnName(@Nullable Output targetColumnName) {
            $.targetColumnName = targetColumnName;
            return this;
        }

        /**
         * @param targetColumnName Target column name: This is prediction values column.
         * Also known as label column name in context of classification tasks.
         * 
         * @return builder
         * 
         */
        public Builder targetColumnName(String targetColumnName) {
            return targetColumnName(Output.of(targetColumnName));
        }

        /**
         * @param taskType AutoMLJob Task type.
         * Expected value is 'ImageInstanceSegmentation'.
         * 
         * @return builder
         * 
         */
        public Builder taskType(Output taskType) {
            $.taskType = taskType;
            return this;
        }

        /**
         * @param taskType AutoMLJob Task type.
         * Expected value is 'ImageInstanceSegmentation'.
         * 
         * @return builder
         * 
         */
        public Builder taskType(String taskType) {
            return taskType(Output.of(taskType));
        }

        /**
         * @param trainingData [Required] Training data input.
         * 
         * @return builder
         * 
         */
        public Builder trainingData(Output trainingData) {
            $.trainingData = trainingData;
            return this;
        }

        /**
         * @param trainingData [Required] Training data input.
         * 
         * @return builder
         * 
         */
        public Builder trainingData(MLTableJobInputArgs trainingData) {
            return trainingData(Output.of(trainingData));
        }

        /**
         * @param validationData Validation data inputs.
         * 
         * @return builder
         * 
         */
        public Builder validationData(@Nullable Output validationData) {
            $.validationData = validationData;
            return this;
        }

        /**
         * @param validationData Validation data inputs.
         * 
         * @return builder
         * 
         */
        public Builder validationData(MLTableJobInputArgs validationData) {
            return validationData(Output.of(validationData));
        }

        /**
         * @param validationDataSize The fraction of training dataset that needs to be set aside for validation purpose.
         * Values between (0.0 , 1.0)
         * Applied when validation dataset is not provided.
         * 
         * @return builder
         * 
         */
        public Builder validationDataSize(@Nullable Output validationDataSize) {
            $.validationDataSize = validationDataSize;
            return this;
        }

        /**
         * @param validationDataSize The fraction of training dataset that needs to be set aside for validation purpose.
         * Values between (0.0 , 1.0)
         * Applied when validation dataset is not provided.
         * 
         * @return builder
         * 
         */
        public Builder validationDataSize(Double validationDataSize) {
            return validationDataSize(Output.of(validationDataSize));
        }

        public ImageInstanceSegmentationArgs build() {
            if ($.limitSettings == null) {
                throw new MissingRequiredPropertyException("ImageInstanceSegmentationArgs", "limitSettings");
            }
            $.logVerbosity = Codegen.stringProp("logVerbosity").left(LogVerbosity.class).output().arg($.logVerbosity).def("Info").getNullable();
            $.primaryMetric = Codegen.stringProp("primaryMetric").left(InstanceSegmentationPrimaryMetrics.class).output().arg($.primaryMetric).def("MeanAveragePrecision").getNullable();
            $.taskType = Codegen.stringProp("taskType").output().arg($.taskType).require();
            if ($.trainingData == null) {
                throw new MissingRequiredPropertyException("ImageInstanceSegmentationArgs", "trainingData");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy