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

com.pulumi.azurenative.machinelearningservices.outputs.ImageModelSettingsObjectDetectionResponse 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.azurenative.machinelearningservices.outputs;

import com.pulumi.azurenative.machinelearningservices.outputs.MLFlowModelJobInputResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ImageModelSettingsObjectDetectionResponse {
    /**
     * @return Settings for advanced scenarios.
     * 
     */
    private @Nullable String advancedSettings;
    /**
     * @return Enable AMSGrad when optimizer is 'adam' or 'adamw'.
     * 
     */
    private @Nullable Boolean amsGradient;
    /**
     * @return Settings for using Augmentations.
     * 
     */
    private @Nullable String augmentations;
    /**
     * @return Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable Double beta1;
    /**
     * @return Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable Double beta2;
    /**
     * @return Maximum number of detections per image, for all classes. Must be a positive integer.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable Integer boxDetectionsPerImage;
    /**
     * @return During inference, only return proposals with a classification score greater than
     * BoxScoreThreshold. Must be a float in the range[0, 1].
     * 
     */
    private @Nullable Double boxScoreThreshold;
    /**
     * @return Frequency to store model checkpoints. Must be a positive integer.
     * 
     */
    private @Nullable Integer checkpointFrequency;
    /**
     * @return The pretrained checkpoint model for incremental training.
     * 
     */
    private @Nullable MLFlowModelJobInputResponse checkpointModel;
    /**
     * @return The id of a previous run that has a pretrained checkpoint for incremental training.
     * 
     */
    private @Nullable String checkpointRunId;
    /**
     * @return Whether to use distributed training.
     * 
     */
    private @Nullable Boolean distributed;
    /**
     * @return Enable early stopping logic during training.
     * 
     */
    private @Nullable Boolean earlyStopping;
    /**
     * @return Minimum number of epochs or validation evaluations to wait before primary metric improvement
     * is tracked for early stopping. Must be a positive integer.
     * 
     */
    private @Nullable Integer earlyStoppingDelay;
    /**
     * @return Minimum number of epochs or validation evaluations with no primary metric improvement before
     * the run is stopped. Must be a positive integer.
     * 
     */
    private @Nullable Integer earlyStoppingPatience;
    /**
     * @return Enable normalization when exporting ONNX model.
     * 
     */
    private @Nullable Boolean enableOnnxNormalization;
    /**
     * @return Frequency to evaluate validation dataset to get metric scores. Must be a positive integer.
     * 
     */
    private @Nullable Integer evaluationFrequency;
    /**
     * @return Gradient accumulation means running a configured number of "GradAccumulationStep" steps without
     * updating the model weights while accumulating the gradients of those steps, and then using
     * the accumulated gradients to compute the weight updates. Must be a positive integer.
     * 
     */
    private @Nullable Integer gradientAccumulationStep;
    /**
     * @return Image size for train and validation. Must be a positive integer.
     * Note: The training run may get into CUDA OOM if the size is too big.
     * Note: This settings is only supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable Integer imageSize;
    /**
     * @return Number of layers to freeze for the model. Must be a positive integer.
     * For instance, passing 2 as value for 'seresnext' means
     * freezing layer0 and layer1. For a full list of models supported and details on layer freeze, please
     * see: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
     * 
     */
    private @Nullable Integer layersToFreeze;
    /**
     * @return Initial learning rate. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable Double learningRate;
    /**
     * @return Type of learning rate scheduler. Must be 'warmup_cosine' or 'step'.
     * 
     */
    private @Nullable String learningRateScheduler;
    /**
     * @return Maximum size of the image to be rescaled before feeding it to the backbone.
     * Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable Integer maxSize;
    /**
     * @return Minimum size of the image to be rescaled before feeding it to the backbone.
     * Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable Integer minSize;
    /**
     * @return Name of the model to use for training.
     * For more information on the available models please visit the official documentation:
     * https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
     * 
     */
    private @Nullable String modelName;
    /**
     * @return Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
     * Note: training run may get into CUDA OOM if the model size is too big.
     * Note: This settings is only supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable String modelSize;
    /**
     * @return Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable Double momentum;
    /**
     * @return Enable multi-scale image by varying image size by +/- 50%.
     * Note: training run may get into CUDA OOM if no sufficient GPU memory.
     * Note: This settings is only supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable Boolean multiScale;
    /**
     * @return Enable nesterov when optimizer is 'sgd'.
     * 
     */
    private @Nullable Boolean nesterov;
    /**
     * @return IOU threshold used during inference in NMS post processing. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable Double nmsIouThreshold;
    /**
     * @return Number of training epochs. Must be a positive integer.
     * 
     */
    private @Nullable Integer numberOfEpochs;
    /**
     * @return Number of data loader workers. Must be a non-negative integer.
     * 
     */
    private @Nullable Integer numberOfWorkers;
    /**
     * @return Type of optimizer.
     * 
     */
    private @Nullable String optimizer;
    /**
     * @return Random seed to be used when using deterministic training.
     * 
     */
    private @Nullable Integer randomSeed;
    /**
     * @return Value of gamma when learning rate scheduler is 'step'. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable Double stepLRGamma;
    /**
     * @return Value of step size when learning rate scheduler is 'step'. Must be a positive integer.
     * 
     */
    private @Nullable Integer stepLRStepSize;
    /**
     * @return The grid size to use for tiling each image. Note: TileGridSize must not be
     * None to enable small object detection logic. A string containing two integers in mxn format.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable String tileGridSize;
    /**
     * @return Overlap ratio between adjacent tiles in each dimension. Must be float in the range [0, 1).
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable Double tileOverlapRatio;
    /**
     * @return The IOU threshold to use to perform NMS while merging predictions from tiles and image.
     * Used in validation/ inference. Must be float in the range [0, 1].
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    private @Nullable Double tilePredictionsNmsThreshold;
    /**
     * @return Training batch size. Must be a positive integer.
     * 
     */
    private @Nullable Integer trainingBatchSize;
    /**
     * @return Validation batch size. Must be a positive integer.
     * 
     */
    private @Nullable Integer validationBatchSize;
    /**
     * @return IOU threshold to use when computing validation metric. Must be float in the range [0, 1].
     * 
     */
    private @Nullable Double validationIouThreshold;
    /**
     * @return Metric computation method to use for validation metrics.
     * 
     */
    private @Nullable String validationMetricType;
    /**
     * @return Value of cosine cycle when learning rate scheduler is 'warmup_cosine'. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable Double warmupCosineLRCycles;
    /**
     * @return Value of warmup epochs when learning rate scheduler is 'warmup_cosine'. Must be a positive integer.
     * 
     */
    private @Nullable Integer warmupCosineLRWarmupEpochs;
    /**
     * @return Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be a float in the range[0, 1].
     * 
     */
    private @Nullable Double weightDecay;

    private ImageModelSettingsObjectDetectionResponse() {}
    /**
     * @return Settings for advanced scenarios.
     * 
     */
    public Optional advancedSettings() {
        return Optional.ofNullable(this.advancedSettings);
    }
    /**
     * @return Enable AMSGrad when optimizer is 'adam' or 'adamw'.
     * 
     */
    public Optional amsGradient() {
        return Optional.ofNullable(this.amsGradient);
    }
    /**
     * @return Settings for using Augmentations.
     * 
     */
    public Optional augmentations() {
        return Optional.ofNullable(this.augmentations);
    }
    /**
     * @return Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].
     * 
     */
    public Optional beta1() {
        return Optional.ofNullable(this.beta1);
    }
    /**
     * @return Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].
     * 
     */
    public Optional beta2() {
        return Optional.ofNullable(this.beta2);
    }
    /**
     * @return Maximum number of detections per image, for all classes. Must be a positive integer.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    public Optional boxDetectionsPerImage() {
        return Optional.ofNullable(this.boxDetectionsPerImage);
    }
    /**
     * @return During inference, only return proposals with a classification score greater than
     * BoxScoreThreshold. Must be a float in the range[0, 1].
     * 
     */
    public Optional boxScoreThreshold() {
        return Optional.ofNullable(this.boxScoreThreshold);
    }
    /**
     * @return Frequency to store model checkpoints. Must be a positive integer.
     * 
     */
    public Optional checkpointFrequency() {
        return Optional.ofNullable(this.checkpointFrequency);
    }
    /**
     * @return The pretrained checkpoint model for incremental training.
     * 
     */
    public Optional checkpointModel() {
        return Optional.ofNullable(this.checkpointModel);
    }
    /**
     * @return The id of a previous run that has a pretrained checkpoint for incremental training.
     * 
     */
    public Optional checkpointRunId() {
        return Optional.ofNullable(this.checkpointRunId);
    }
    /**
     * @return Whether to use distributed training.
     * 
     */
    public Optional distributed() {
        return Optional.ofNullable(this.distributed);
    }
    /**
     * @return Enable early stopping logic during training.
     * 
     */
    public Optional earlyStopping() {
        return Optional.ofNullable(this.earlyStopping);
    }
    /**
     * @return Minimum number of epochs or validation evaluations to wait before primary metric improvement
     * is tracked for early stopping. Must be a positive integer.
     * 
     */
    public Optional earlyStoppingDelay() {
        return Optional.ofNullable(this.earlyStoppingDelay);
    }
    /**
     * @return Minimum number of epochs or validation evaluations with no primary metric improvement before
     * the run is stopped. Must be a positive integer.
     * 
     */
    public Optional earlyStoppingPatience() {
        return Optional.ofNullable(this.earlyStoppingPatience);
    }
    /**
     * @return Enable normalization when exporting ONNX model.
     * 
     */
    public Optional enableOnnxNormalization() {
        return Optional.ofNullable(this.enableOnnxNormalization);
    }
    /**
     * @return Frequency to evaluate validation dataset to get metric scores. Must be a positive integer.
     * 
     */
    public Optional evaluationFrequency() {
        return Optional.ofNullable(this.evaluationFrequency);
    }
    /**
     * @return Gradient accumulation means running a configured number of "GradAccumulationStep" steps without
     * updating the model weights while accumulating the gradients of those steps, and then using
     * the accumulated gradients to compute the weight updates. Must be a positive integer.
     * 
     */
    public Optional gradientAccumulationStep() {
        return Optional.ofNullable(this.gradientAccumulationStep);
    }
    /**
     * @return Image size for train and validation. Must be a positive integer.
     * Note: The training run may get into CUDA OOM if the size is too big.
     * Note: This settings is only supported for the 'yolov5' algorithm.
     * 
     */
    public Optional imageSize() {
        return Optional.ofNullable(this.imageSize);
    }
    /**
     * @return Number of layers to freeze for the model. Must be a positive integer.
     * For instance, passing 2 as value for 'seresnext' means
     * freezing layer0 and layer1. For a full list of models supported and details on layer freeze, please
     * see: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
     * 
     */
    public Optional layersToFreeze() {
        return Optional.ofNullable(this.layersToFreeze);
    }
    /**
     * @return Initial learning rate. Must be a float in the range [0, 1].
     * 
     */
    public Optional learningRate() {
        return Optional.ofNullable(this.learningRate);
    }
    /**
     * @return Type of learning rate scheduler. Must be 'warmup_cosine' or 'step'.
     * 
     */
    public Optional learningRateScheduler() {
        return Optional.ofNullable(this.learningRateScheduler);
    }
    /**
     * @return Maximum size of the image to be rescaled before feeding it to the backbone.
     * Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    public Optional maxSize() {
        return Optional.ofNullable(this.maxSize);
    }
    /**
     * @return Minimum size of the image to be rescaled before feeding it to the backbone.
     * Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    public Optional minSize() {
        return Optional.ofNullable(this.minSize);
    }
    /**
     * @return Name of the model to use for training.
     * For more information on the available models please visit the official documentation:
     * https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
     * 
     */
    public Optional modelName() {
        return Optional.ofNullable(this.modelName);
    }
    /**
     * @return Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
     * Note: training run may get into CUDA OOM if the model size is too big.
     * Note: This settings is only supported for the 'yolov5' algorithm.
     * 
     */
    public Optional modelSize() {
        return Optional.ofNullable(this.modelSize);
    }
    /**
     * @return Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
     * 
     */
    public Optional momentum() {
        return Optional.ofNullable(this.momentum);
    }
    /**
     * @return Enable multi-scale image by varying image size by +/- 50%.
     * Note: training run may get into CUDA OOM if no sufficient GPU memory.
     * Note: This settings is only supported for the 'yolov5' algorithm.
     * 
     */
    public Optional multiScale() {
        return Optional.ofNullable(this.multiScale);
    }
    /**
     * @return Enable nesterov when optimizer is 'sgd'.
     * 
     */
    public Optional nesterov() {
        return Optional.ofNullable(this.nesterov);
    }
    /**
     * @return IOU threshold used during inference in NMS post processing. Must be a float in the range [0, 1].
     * 
     */
    public Optional nmsIouThreshold() {
        return Optional.ofNullable(this.nmsIouThreshold);
    }
    /**
     * @return Number of training epochs. Must be a positive integer.
     * 
     */
    public Optional numberOfEpochs() {
        return Optional.ofNullable(this.numberOfEpochs);
    }
    /**
     * @return Number of data loader workers. Must be a non-negative integer.
     * 
     */
    public Optional numberOfWorkers() {
        return Optional.ofNullable(this.numberOfWorkers);
    }
    /**
     * @return Type of optimizer.
     * 
     */
    public Optional optimizer() {
        return Optional.ofNullable(this.optimizer);
    }
    /**
     * @return Random seed to be used when using deterministic training.
     * 
     */
    public Optional randomSeed() {
        return Optional.ofNullable(this.randomSeed);
    }
    /**
     * @return Value of gamma when learning rate scheduler is 'step'. Must be a float in the range [0, 1].
     * 
     */
    public Optional stepLRGamma() {
        return Optional.ofNullable(this.stepLRGamma);
    }
    /**
     * @return Value of step size when learning rate scheduler is 'step'. Must be a positive integer.
     * 
     */
    public Optional stepLRStepSize() {
        return Optional.ofNullable(this.stepLRStepSize);
    }
    /**
     * @return The grid size to use for tiling each image. Note: TileGridSize must not be
     * None to enable small object detection logic. A string containing two integers in mxn format.
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    public Optional tileGridSize() {
        return Optional.ofNullable(this.tileGridSize);
    }
    /**
     * @return Overlap ratio between adjacent tiles in each dimension. Must be float in the range [0, 1).
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    public Optional tileOverlapRatio() {
        return Optional.ofNullable(this.tileOverlapRatio);
    }
    /**
     * @return The IOU threshold to use to perform NMS while merging predictions from tiles and image.
     * Used in validation/ inference. Must be float in the range [0, 1].
     * Note: This settings is not supported for the 'yolov5' algorithm.
     * 
     */
    public Optional tilePredictionsNmsThreshold() {
        return Optional.ofNullable(this.tilePredictionsNmsThreshold);
    }
    /**
     * @return Training batch size. Must be a positive integer.
     * 
     */
    public Optional trainingBatchSize() {
        return Optional.ofNullable(this.trainingBatchSize);
    }
    /**
     * @return Validation batch size. Must be a positive integer.
     * 
     */
    public Optional validationBatchSize() {
        return Optional.ofNullable(this.validationBatchSize);
    }
    /**
     * @return IOU threshold to use when computing validation metric. Must be float in the range [0, 1].
     * 
     */
    public Optional validationIouThreshold() {
        return Optional.ofNullable(this.validationIouThreshold);
    }
    /**
     * @return Metric computation method to use for validation metrics.
     * 
     */
    public Optional validationMetricType() {
        return Optional.ofNullable(this.validationMetricType);
    }
    /**
     * @return Value of cosine cycle when learning rate scheduler is 'warmup_cosine'. Must be a float in the range [0, 1].
     * 
     */
    public Optional warmupCosineLRCycles() {
        return Optional.ofNullable(this.warmupCosineLRCycles);
    }
    /**
     * @return Value of warmup epochs when learning rate scheduler is 'warmup_cosine'. Must be a positive integer.
     * 
     */
    public Optional warmupCosineLRWarmupEpochs() {
        return Optional.ofNullable(this.warmupCosineLRWarmupEpochs);
    }
    /**
     * @return Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be a float in the range[0, 1].
     * 
     */
    public Optional weightDecay() {
        return Optional.ofNullable(this.weightDecay);
    }

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

    public static Builder builder(ImageModelSettingsObjectDetectionResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String advancedSettings;
        private @Nullable Boolean amsGradient;
        private @Nullable String augmentations;
        private @Nullable Double beta1;
        private @Nullable Double beta2;
        private @Nullable Integer boxDetectionsPerImage;
        private @Nullable Double boxScoreThreshold;
        private @Nullable Integer checkpointFrequency;
        private @Nullable MLFlowModelJobInputResponse checkpointModel;
        private @Nullable String checkpointRunId;
        private @Nullable Boolean distributed;
        private @Nullable Boolean earlyStopping;
        private @Nullable Integer earlyStoppingDelay;
        private @Nullable Integer earlyStoppingPatience;
        private @Nullable Boolean enableOnnxNormalization;
        private @Nullable Integer evaluationFrequency;
        private @Nullable Integer gradientAccumulationStep;
        private @Nullable Integer imageSize;
        private @Nullable Integer layersToFreeze;
        private @Nullable Double learningRate;
        private @Nullable String learningRateScheduler;
        private @Nullable Integer maxSize;
        private @Nullable Integer minSize;
        private @Nullable String modelName;
        private @Nullable String modelSize;
        private @Nullable Double momentum;
        private @Nullable Boolean multiScale;
        private @Nullable Boolean nesterov;
        private @Nullable Double nmsIouThreshold;
        private @Nullable Integer numberOfEpochs;
        private @Nullable Integer numberOfWorkers;
        private @Nullable String optimizer;
        private @Nullable Integer randomSeed;
        private @Nullable Double stepLRGamma;
        private @Nullable Integer stepLRStepSize;
        private @Nullable String tileGridSize;
        private @Nullable Double tileOverlapRatio;
        private @Nullable Double tilePredictionsNmsThreshold;
        private @Nullable Integer trainingBatchSize;
        private @Nullable Integer validationBatchSize;
        private @Nullable Double validationIouThreshold;
        private @Nullable String validationMetricType;
        private @Nullable Double warmupCosineLRCycles;
        private @Nullable Integer warmupCosineLRWarmupEpochs;
        private @Nullable Double weightDecay;
        public Builder() {}
        public Builder(ImageModelSettingsObjectDetectionResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.advancedSettings = defaults.advancedSettings;
    	      this.amsGradient = defaults.amsGradient;
    	      this.augmentations = defaults.augmentations;
    	      this.beta1 = defaults.beta1;
    	      this.beta2 = defaults.beta2;
    	      this.boxDetectionsPerImage = defaults.boxDetectionsPerImage;
    	      this.boxScoreThreshold = defaults.boxScoreThreshold;
    	      this.checkpointFrequency = defaults.checkpointFrequency;
    	      this.checkpointModel = defaults.checkpointModel;
    	      this.checkpointRunId = defaults.checkpointRunId;
    	      this.distributed = defaults.distributed;
    	      this.earlyStopping = defaults.earlyStopping;
    	      this.earlyStoppingDelay = defaults.earlyStoppingDelay;
    	      this.earlyStoppingPatience = defaults.earlyStoppingPatience;
    	      this.enableOnnxNormalization = defaults.enableOnnxNormalization;
    	      this.evaluationFrequency = defaults.evaluationFrequency;
    	      this.gradientAccumulationStep = defaults.gradientAccumulationStep;
    	      this.imageSize = defaults.imageSize;
    	      this.layersToFreeze = defaults.layersToFreeze;
    	      this.learningRate = defaults.learningRate;
    	      this.learningRateScheduler = defaults.learningRateScheduler;
    	      this.maxSize = defaults.maxSize;
    	      this.minSize = defaults.minSize;
    	      this.modelName = defaults.modelName;
    	      this.modelSize = defaults.modelSize;
    	      this.momentum = defaults.momentum;
    	      this.multiScale = defaults.multiScale;
    	      this.nesterov = defaults.nesterov;
    	      this.nmsIouThreshold = defaults.nmsIouThreshold;
    	      this.numberOfEpochs = defaults.numberOfEpochs;
    	      this.numberOfWorkers = defaults.numberOfWorkers;
    	      this.optimizer = defaults.optimizer;
    	      this.randomSeed = defaults.randomSeed;
    	      this.stepLRGamma = defaults.stepLRGamma;
    	      this.stepLRStepSize = defaults.stepLRStepSize;
    	      this.tileGridSize = defaults.tileGridSize;
    	      this.tileOverlapRatio = defaults.tileOverlapRatio;
    	      this.tilePredictionsNmsThreshold = defaults.tilePredictionsNmsThreshold;
    	      this.trainingBatchSize = defaults.trainingBatchSize;
    	      this.validationBatchSize = defaults.validationBatchSize;
    	      this.validationIouThreshold = defaults.validationIouThreshold;
    	      this.validationMetricType = defaults.validationMetricType;
    	      this.warmupCosineLRCycles = defaults.warmupCosineLRCycles;
    	      this.warmupCosineLRWarmupEpochs = defaults.warmupCosineLRWarmupEpochs;
    	      this.weightDecay = defaults.weightDecay;
        }

        @CustomType.Setter
        public Builder advancedSettings(@Nullable String advancedSettings) {

            this.advancedSettings = advancedSettings;
            return this;
        }
        @CustomType.Setter
        public Builder amsGradient(@Nullable Boolean amsGradient) {

            this.amsGradient = amsGradient;
            return this;
        }
        @CustomType.Setter
        public Builder augmentations(@Nullable String augmentations) {

            this.augmentations = augmentations;
            return this;
        }
        @CustomType.Setter
        public Builder beta1(@Nullable Double beta1) {

            this.beta1 = beta1;
            return this;
        }
        @CustomType.Setter
        public Builder beta2(@Nullable Double beta2) {

            this.beta2 = beta2;
            return this;
        }
        @CustomType.Setter
        public Builder boxDetectionsPerImage(@Nullable Integer boxDetectionsPerImage) {

            this.boxDetectionsPerImage = boxDetectionsPerImage;
            return this;
        }
        @CustomType.Setter
        public Builder boxScoreThreshold(@Nullable Double boxScoreThreshold) {

            this.boxScoreThreshold = boxScoreThreshold;
            return this;
        }
        @CustomType.Setter
        public Builder checkpointFrequency(@Nullable Integer checkpointFrequency) {

            this.checkpointFrequency = checkpointFrequency;
            return this;
        }
        @CustomType.Setter
        public Builder checkpointModel(@Nullable MLFlowModelJobInputResponse checkpointModel) {

            this.checkpointModel = checkpointModel;
            return this;
        }
        @CustomType.Setter
        public Builder checkpointRunId(@Nullable String checkpointRunId) {

            this.checkpointRunId = checkpointRunId;
            return this;
        }
        @CustomType.Setter
        public Builder distributed(@Nullable Boolean distributed) {

            this.distributed = distributed;
            return this;
        }
        @CustomType.Setter
        public Builder earlyStopping(@Nullable Boolean earlyStopping) {

            this.earlyStopping = earlyStopping;
            return this;
        }
        @CustomType.Setter
        public Builder earlyStoppingDelay(@Nullable Integer earlyStoppingDelay) {

            this.earlyStoppingDelay = earlyStoppingDelay;
            return this;
        }
        @CustomType.Setter
        public Builder earlyStoppingPatience(@Nullable Integer earlyStoppingPatience) {

            this.earlyStoppingPatience = earlyStoppingPatience;
            return this;
        }
        @CustomType.Setter
        public Builder enableOnnxNormalization(@Nullable Boolean enableOnnxNormalization) {

            this.enableOnnxNormalization = enableOnnxNormalization;
            return this;
        }
        @CustomType.Setter
        public Builder evaluationFrequency(@Nullable Integer evaluationFrequency) {

            this.evaluationFrequency = evaluationFrequency;
            return this;
        }
        @CustomType.Setter
        public Builder gradientAccumulationStep(@Nullable Integer gradientAccumulationStep) {

            this.gradientAccumulationStep = gradientAccumulationStep;
            return this;
        }
        @CustomType.Setter
        public Builder imageSize(@Nullable Integer imageSize) {

            this.imageSize = imageSize;
            return this;
        }
        @CustomType.Setter
        public Builder layersToFreeze(@Nullable Integer layersToFreeze) {

            this.layersToFreeze = layersToFreeze;
            return this;
        }
        @CustomType.Setter
        public Builder learningRate(@Nullable Double learningRate) {

            this.learningRate = learningRate;
            return this;
        }
        @CustomType.Setter
        public Builder learningRateScheduler(@Nullable String learningRateScheduler) {

            this.learningRateScheduler = learningRateScheduler;
            return this;
        }
        @CustomType.Setter
        public Builder maxSize(@Nullable Integer maxSize) {

            this.maxSize = maxSize;
            return this;
        }
        @CustomType.Setter
        public Builder minSize(@Nullable Integer minSize) {

            this.minSize = minSize;
            return this;
        }
        @CustomType.Setter
        public Builder modelName(@Nullable String modelName) {

            this.modelName = modelName;
            return this;
        }
        @CustomType.Setter
        public Builder modelSize(@Nullable String modelSize) {

            this.modelSize = modelSize;
            return this;
        }
        @CustomType.Setter
        public Builder momentum(@Nullable Double momentum) {

            this.momentum = momentum;
            return this;
        }
        @CustomType.Setter
        public Builder multiScale(@Nullable Boolean multiScale) {

            this.multiScale = multiScale;
            return this;
        }
        @CustomType.Setter
        public Builder nesterov(@Nullable Boolean nesterov) {

            this.nesterov = nesterov;
            return this;
        }
        @CustomType.Setter
        public Builder nmsIouThreshold(@Nullable Double nmsIouThreshold) {

            this.nmsIouThreshold = nmsIouThreshold;
            return this;
        }
        @CustomType.Setter
        public Builder numberOfEpochs(@Nullable Integer numberOfEpochs) {

            this.numberOfEpochs = numberOfEpochs;
            return this;
        }
        @CustomType.Setter
        public Builder numberOfWorkers(@Nullable Integer numberOfWorkers) {

            this.numberOfWorkers = numberOfWorkers;
            return this;
        }
        @CustomType.Setter
        public Builder optimizer(@Nullable String optimizer) {

            this.optimizer = optimizer;
            return this;
        }
        @CustomType.Setter
        public Builder randomSeed(@Nullable Integer randomSeed) {

            this.randomSeed = randomSeed;
            return this;
        }
        @CustomType.Setter
        public Builder stepLRGamma(@Nullable Double stepLRGamma) {

            this.stepLRGamma = stepLRGamma;
            return this;
        }
        @CustomType.Setter
        public Builder stepLRStepSize(@Nullable Integer stepLRStepSize) {

            this.stepLRStepSize = stepLRStepSize;
            return this;
        }
        @CustomType.Setter
        public Builder tileGridSize(@Nullable String tileGridSize) {

            this.tileGridSize = tileGridSize;
            return this;
        }
        @CustomType.Setter
        public Builder tileOverlapRatio(@Nullable Double tileOverlapRatio) {

            this.tileOverlapRatio = tileOverlapRatio;
            return this;
        }
        @CustomType.Setter
        public Builder tilePredictionsNmsThreshold(@Nullable Double tilePredictionsNmsThreshold) {

            this.tilePredictionsNmsThreshold = tilePredictionsNmsThreshold;
            return this;
        }
        @CustomType.Setter
        public Builder trainingBatchSize(@Nullable Integer trainingBatchSize) {

            this.trainingBatchSize = trainingBatchSize;
            return this;
        }
        @CustomType.Setter
        public Builder validationBatchSize(@Nullable Integer validationBatchSize) {

            this.validationBatchSize = validationBatchSize;
            return this;
        }
        @CustomType.Setter
        public Builder validationIouThreshold(@Nullable Double validationIouThreshold) {

            this.validationIouThreshold = validationIouThreshold;
            return this;
        }
        @CustomType.Setter
        public Builder validationMetricType(@Nullable String validationMetricType) {

            this.validationMetricType = validationMetricType;
            return this;
        }
        @CustomType.Setter
        public Builder warmupCosineLRCycles(@Nullable Double warmupCosineLRCycles) {

            this.warmupCosineLRCycles = warmupCosineLRCycles;
            return this;
        }
        @CustomType.Setter
        public Builder warmupCosineLRWarmupEpochs(@Nullable Integer warmupCosineLRWarmupEpochs) {

            this.warmupCosineLRWarmupEpochs = warmupCosineLRWarmupEpochs;
            return this;
        }
        @CustomType.Setter
        public Builder weightDecay(@Nullable Double weightDecay) {

            this.weightDecay = weightDecay;
            return this;
        }
        public ImageModelSettingsObjectDetectionResponse build() {
            final var _resultValue = new ImageModelSettingsObjectDetectionResponse();
            _resultValue.advancedSettings = advancedSettings;
            _resultValue.amsGradient = amsGradient;
            _resultValue.augmentations = augmentations;
            _resultValue.beta1 = beta1;
            _resultValue.beta2 = beta2;
            _resultValue.boxDetectionsPerImage = boxDetectionsPerImage;
            _resultValue.boxScoreThreshold = boxScoreThreshold;
            _resultValue.checkpointFrequency = checkpointFrequency;
            _resultValue.checkpointModel = checkpointModel;
            _resultValue.checkpointRunId = checkpointRunId;
            _resultValue.distributed = distributed;
            _resultValue.earlyStopping = earlyStopping;
            _resultValue.earlyStoppingDelay = earlyStoppingDelay;
            _resultValue.earlyStoppingPatience = earlyStoppingPatience;
            _resultValue.enableOnnxNormalization = enableOnnxNormalization;
            _resultValue.evaluationFrequency = evaluationFrequency;
            _resultValue.gradientAccumulationStep = gradientAccumulationStep;
            _resultValue.imageSize = imageSize;
            _resultValue.layersToFreeze = layersToFreeze;
            _resultValue.learningRate = learningRate;
            _resultValue.learningRateScheduler = learningRateScheduler;
            _resultValue.maxSize = maxSize;
            _resultValue.minSize = minSize;
            _resultValue.modelName = modelName;
            _resultValue.modelSize = modelSize;
            _resultValue.momentum = momentum;
            _resultValue.multiScale = multiScale;
            _resultValue.nesterov = nesterov;
            _resultValue.nmsIouThreshold = nmsIouThreshold;
            _resultValue.numberOfEpochs = numberOfEpochs;
            _resultValue.numberOfWorkers = numberOfWorkers;
            _resultValue.optimizer = optimizer;
            _resultValue.randomSeed = randomSeed;
            _resultValue.stepLRGamma = stepLRGamma;
            _resultValue.stepLRStepSize = stepLRStepSize;
            _resultValue.tileGridSize = tileGridSize;
            _resultValue.tileOverlapRatio = tileOverlapRatio;
            _resultValue.tilePredictionsNmsThreshold = tilePredictionsNmsThreshold;
            _resultValue.trainingBatchSize = trainingBatchSize;
            _resultValue.validationBatchSize = validationBatchSize;
            _resultValue.validationIouThreshold = validationIouThreshold;
            _resultValue.validationMetricType = validationMetricType;
            _resultValue.warmupCosineLRCycles = warmupCosineLRCycles;
            _resultValue.warmupCosineLRWarmupEpochs = warmupCosineLRWarmupEpochs;
            _resultValue.weightDecay = weightDecay;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy