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

com.pulumi.azurenative.machinelearningservices.outputs.ImageModelDistributionSettingsObjectDetectionResponse 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.core.annotations.CustomType;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ImageModelDistributionSettingsObjectDetectionResponse {
    /**
     * @return Enable AMSGrad when optimizer is 'adam' or 'adamw'.
     * 
     */
    private @Nullable String 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 String beta1;
    /**
     * @return Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable String 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 String 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 String boxScoreThreshold;
    /**
     * @return Whether to use distributer training.
     * 
     */
    private @Nullable String distributed;
    /**
     * @return Enable early stopping logic during training.
     * 
     */
    private @Nullable String 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 String 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 String earlyStoppingPatience;
    /**
     * @return Enable normalization when exporting ONNX model.
     * 
     */
    private @Nullable String enableOnnxNormalization;
    /**
     * @return Frequency to evaluate validation dataset to get metric scores. Must be a positive integer.
     * 
     */
    private @Nullable String 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 String 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 String 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 String layersToFreeze;
    /**
     * @return Initial learning rate. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable String 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 String 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 String 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 String 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 String multiScale;
    /**
     * @return Enable nesterov when optimizer is 'sgd'.
     * 
     */
    private @Nullable String nesterov;
    /**
     * @return IOU threshold used during inference in NMS post processing. Must be float in the range [0, 1].
     * 
     */
    private @Nullable String nmsIouThreshold;
    /**
     * @return Number of training epochs. Must be a positive integer.
     * 
     */
    private @Nullable String numberOfEpochs;
    /**
     * @return Number of data loader workers. Must be a non-negative integer.
     * 
     */
    private @Nullable String numberOfWorkers;
    /**
     * @return Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
     * 
     */
    private @Nullable String optimizer;
    /**
     * @return Random seed to be used when using deterministic training.
     * 
     */
    private @Nullable String randomSeed;
    /**
     * @return Value of gamma when learning rate scheduler is 'step'. Must be a float in the range [0, 1].
     * 
     */
    private @Nullable String stepLRGamma;
    /**
     * @return Value of step size when learning rate scheduler is 'step'. Must be a positive integer.
     * 
     */
    private @Nullable String 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 String 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.
     * NMS: Non-maximum suppression
     * 
     */
    private @Nullable String tilePredictionsNmsThreshold;
    /**
     * @return Training batch size. Must be a positive integer.
     * 
     */
    private @Nullable String trainingBatchSize;
    /**
     * @return Validation batch size. Must be a positive integer.
     * 
     */
    private @Nullable String validationBatchSize;
    /**
     * @return IOU threshold to use when computing validation metric. Must be float in the range [0, 1].
     * 
     */
    private @Nullable String validationIouThreshold;
    /**
     * @return Metric computation method to use for validation metrics. Must be 'none', 'coco', 'voc', or 'coco_voc'.
     * 
     */
    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 String warmupCosineLRCycles;
    /**
     * @return Value of warmup epochs when learning rate scheduler is 'warmup_cosine'. Must be a positive integer.
     * 
     */
    private @Nullable String warmupCosineLRWarmupEpochs;
    /**
     * @return Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be a float in the range[0, 1].
     * 
     */
    private @Nullable String weightDecay;

    private ImageModelDistributionSettingsObjectDetectionResponse() {}
    /**
     * @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 Whether to use distributer 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 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. Must be either 'sgd', 'adam', or 'adamw'.
     * 
     */
    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.
     * NMS: Non-maximum suppression
     * 
     */
    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. Must be 'none', 'coco', 'voc', or 'coco_voc'.
     * 
     */
    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(ImageModelDistributionSettingsObjectDetectionResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String amsGradient;
        private @Nullable String augmentations;
        private @Nullable String beta1;
        private @Nullable String beta2;
        private @Nullable String boxDetectionsPerImage;
        private @Nullable String boxScoreThreshold;
        private @Nullable String distributed;
        private @Nullable String earlyStopping;
        private @Nullable String earlyStoppingDelay;
        private @Nullable String earlyStoppingPatience;
        private @Nullable String enableOnnxNormalization;
        private @Nullable String evaluationFrequency;
        private @Nullable String gradientAccumulationStep;
        private @Nullable String imageSize;
        private @Nullable String layersToFreeze;
        private @Nullable String learningRate;
        private @Nullable String learningRateScheduler;
        private @Nullable String maxSize;
        private @Nullable String minSize;
        private @Nullable String modelName;
        private @Nullable String modelSize;
        private @Nullable String momentum;
        private @Nullable String multiScale;
        private @Nullable String nesterov;
        private @Nullable String nmsIouThreshold;
        private @Nullable String numberOfEpochs;
        private @Nullable String numberOfWorkers;
        private @Nullable String optimizer;
        private @Nullable String randomSeed;
        private @Nullable String stepLRGamma;
        private @Nullable String stepLRStepSize;
        private @Nullable String tileGridSize;
        private @Nullable String tileOverlapRatio;
        private @Nullable String tilePredictionsNmsThreshold;
        private @Nullable String trainingBatchSize;
        private @Nullable String validationBatchSize;
        private @Nullable String validationIouThreshold;
        private @Nullable String validationMetricType;
        private @Nullable String warmupCosineLRCycles;
        private @Nullable String warmupCosineLRWarmupEpochs;
        private @Nullable String weightDecay;
        public Builder() {}
        public Builder(ImageModelDistributionSettingsObjectDetectionResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      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.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 amsGradient(@Nullable String 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 String beta1) {

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

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

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

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

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

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

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

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

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

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

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

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

            this.layersToFreeze = layersToFreeze;
            return this;
        }
        @CustomType.Setter
        public Builder learningRate(@Nullable String 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 String maxSize) {

            this.maxSize = maxSize;
            return this;
        }
        @CustomType.Setter
        public Builder minSize(@Nullable String 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 String momentum) {

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

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

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

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

            this.numberOfEpochs = numberOfEpochs;
            return this;
        }
        @CustomType.Setter
        public Builder numberOfWorkers(@Nullable String 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 String randomSeed) {

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

            this.stepLRGamma = stepLRGamma;
            return this;
        }
        @CustomType.Setter
        public Builder stepLRStepSize(@Nullable String 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 String tileOverlapRatio) {

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

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

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

            this.validationBatchSize = validationBatchSize;
            return this;
        }
        @CustomType.Setter
        public Builder validationIouThreshold(@Nullable String 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 String warmupCosineLRCycles) {

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

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

            this.weightDecay = weightDecay;
            return this;
        }
        public ImageModelDistributionSettingsObjectDetectionResponse build() {
            final var _resultValue = new ImageModelDistributionSettingsObjectDetectionResponse();
            _resultValue.amsGradient = amsGradient;
            _resultValue.augmentations = augmentations;
            _resultValue.beta1 = beta1;
            _resultValue.beta2 = beta2;
            _resultValue.boxDetectionsPerImage = boxDetectionsPerImage;
            _resultValue.boxScoreThreshold = boxScoreThreshold;
            _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