
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