ImageModelDistributionSettingsObjectDetection interface

Distribution expressions to sweep over values of model settings. Some examples are:

ModelName = "choice('seresnext', 'resnest50')";
LearningRate = "uniform(0.001, 0.01)";
LayersToFreeze = "choice(0, 2)";
```</example>
For more details on how to compose distribution expressions please check the documentation:
https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters
For more information on the available settings please visit the official documentation:
https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
Extends

Properties

boxDetectionsPerImage

Maximum number of detections per image, for all classes. Must be a positive integer. Note: This settings is not supported for the 'yolov5' algorithm.

boxScoreThreshold

During inference, only return proposals with a classification score greater than BoxScoreThreshold. Must be a float in the range[0, 1].

imageSize

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.

maxSize

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.

minSize

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.

modelSize

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.

multiScale

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.

nmsIouThreshold

IOU threshold used during inference in NMS post processing. Must be float in the range [0, 1].

tileGridSize

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.

tileOverlapRatio

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.

tilePredictionsNmsThreshold

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

validationIouThreshold

IOU threshold to use when computing validation metric. Must be float in the range [0, 1].

validationMetricType

Metric computation method to use for validation metrics. Must be 'none', 'coco', 'voc', or 'coco_voc'.

Inherited Properties

amsGradient

Enable AMSGrad when optimizer is 'adam' or 'adamw'.

augmentations

Settings for using Augmentations.

beta1

Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].

beta2

Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].

distributed

Whether to use distributer training.

earlyStopping

Enable early stopping logic during training.

earlyStoppingDelay

Minimum number of epochs or validation evaluations to wait before primary metric improvement is tracked for early stopping. Must be a positive integer.

earlyStoppingPatience

Minimum number of epochs or validation evaluations with no primary metric improvement before the run is stopped. Must be a positive integer.

enableOnnxNormalization

Enable normalization when exporting ONNX model.

evaluationFrequency

Frequency to evaluate validation dataset to get metric scores. Must be a positive integer.

gradientAccumulationStep

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.

layersToFreeze

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.

learningRate

Initial learning rate. Must be a float in the range [0, 1].

learningRateScheduler

Type of learning rate scheduler. Must be 'warmup_cosine' or 'step'.

modelName

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.

momentum

Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].

nesterov

Enable nesterov when optimizer is 'sgd'.

numberOfEpochs

Number of training epochs. Must be a positive integer.

numberOfWorkers

Number of data loader workers. Must be a non-negative integer.

optimizer

Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.

randomSeed

Random seed to be used when using deterministic training.

stepLRGamma

Value of gamma when learning rate scheduler is 'step'. Must be a float in the range [0, 1].

stepLRStepSize

Value of step size when learning rate scheduler is 'step'. Must be a positive integer.

trainingBatchSize

Training batch size. Must be a positive integer.

validationBatchSize

Validation batch size. Must be a positive integer.

warmupCosineLRCycles

Value of cosine cycle when learning rate scheduler is 'warmup_cosine'. Must be a float in the range [0, 1].

warmupCosineLRWarmupEpochs

Value of warmup epochs when learning rate scheduler is 'warmup_cosine'. Must be a positive integer.

weightDecay

Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be a float in the range[0, 1].

Property Details

boxDetectionsPerImage

Maximum number of detections per image, for all classes. Must be a positive integer. Note: This settings is not supported for the 'yolov5' algorithm.

boxDetectionsPerImage?: string

Property Value

string

boxScoreThreshold

During inference, only return proposals with a classification score greater than BoxScoreThreshold. Must be a float in the range[0, 1].

boxScoreThreshold?: string

Property Value

string

imageSize

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.

imageSize?: string

Property Value

string

maxSize

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.

maxSize?: string

Property Value

string

minSize

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.

minSize?: string

Property Value

string

modelSize

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.

modelSize?: string

Property Value

string

multiScale

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.

multiScale?: string

Property Value

string

nmsIouThreshold

IOU threshold used during inference in NMS post processing. Must be float in the range [0, 1].

nmsIouThreshold?: string

Property Value

string

tileGridSize

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.

tileGridSize?: string

Property Value

string

tileOverlapRatio

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.

tileOverlapRatio?: string

Property Value

string

tilePredictionsNmsThreshold

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

tilePredictionsNmsThreshold?: string

Property Value

string

validationIouThreshold

IOU threshold to use when computing validation metric. Must be float in the range [0, 1].

validationIouThreshold?: string

Property Value

string

validationMetricType

Metric computation method to use for validation metrics. Must be 'none', 'coco', 'voc', or 'coco_voc'.

validationMetricType?: string

Property Value

string

Inherited Property Details

amsGradient

Enable AMSGrad when optimizer is 'adam' or 'adamw'.

amsGradient?: string

Property Value

string

Inherited From ImageModelDistributionSettings.amsGradient

augmentations

Settings for using Augmentations.

augmentations?: string

Property Value

string

Inherited From ImageModelDistributionSettings.augmentations

beta1

Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].

beta1?: string

Property Value

string

Inherited From ImageModelDistributionSettings.beta1

beta2

Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].

beta2?: string

Property Value

string

Inherited From ImageModelDistributionSettings.beta2

distributed

Whether to use distributer training.

distributed?: string

Property Value

string

Inherited From ImageModelDistributionSettings.distributed

earlyStopping

Enable early stopping logic during training.

earlyStopping?: string

Property Value

string

Inherited From ImageModelDistributionSettings.earlyStopping

earlyStoppingDelay

Minimum number of epochs or validation evaluations to wait before primary metric improvement is tracked for early stopping. Must be a positive integer.

earlyStoppingDelay?: string

Property Value

string

Inherited From ImageModelDistributionSettings.earlyStoppingDelay

earlyStoppingPatience

Minimum number of epochs or validation evaluations with no primary metric improvement before the run is stopped. Must be a positive integer.

earlyStoppingPatience?: string

Property Value

string

Inherited From ImageModelDistributionSettings.earlyStoppingPatience

enableOnnxNormalization

Enable normalization when exporting ONNX model.

enableOnnxNormalization?: string

Property Value

string

Inherited From ImageModelDistributionSettings.enableOnnxNormalization

evaluationFrequency

Frequency to evaluate validation dataset to get metric scores. Must be a positive integer.

evaluationFrequency?: string

Property Value

string

Inherited From ImageModelDistributionSettings.evaluationFrequency

gradientAccumulationStep

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.

gradientAccumulationStep?: string

Property Value

string

Inherited From ImageModelDistributionSettings.gradientAccumulationStep

layersToFreeze

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.

layersToFreeze?: string

Property Value

string

Inherited From ImageModelDistributionSettings.layersToFreeze

learningRate

Initial learning rate. Must be a float in the range [0, 1].

learningRate?: string

Property Value

string

Inherited From ImageModelDistributionSettings.learningRate

learningRateScheduler

Type of learning rate scheduler. Must be 'warmup_cosine' or 'step'.

learningRateScheduler?: string

Property Value

string

Inherited From ImageModelDistributionSettings.learningRateScheduler

modelName

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.

modelName?: string

Property Value

string

Inherited From ImageModelDistributionSettings.modelName

momentum

Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].

momentum?: string

Property Value

string

Inherited From ImageModelDistributionSettings.momentum

nesterov

Enable nesterov when optimizer is 'sgd'.

nesterov?: string

Property Value

string

Inherited From ImageModelDistributionSettings.nesterov

numberOfEpochs

Number of training epochs. Must be a positive integer.

numberOfEpochs?: string

Property Value

string

Inherited From ImageModelDistributionSettings.numberOfEpochs

numberOfWorkers

Number of data loader workers. Must be a non-negative integer.

numberOfWorkers?: string

Property Value

string

Inherited From ImageModelDistributionSettings.numberOfWorkers

optimizer

Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.

optimizer?: string

Property Value

string

Inherited From ImageModelDistributionSettings.optimizer

randomSeed

Random seed to be used when using deterministic training.

randomSeed?: string

Property Value

string

Inherited From ImageModelDistributionSettings.randomSeed

stepLRGamma

Value of gamma when learning rate scheduler is 'step'. Must be a float in the range [0, 1].

stepLRGamma?: string

Property Value

string

Inherited From ImageModelDistributionSettings.stepLRGamma

stepLRStepSize

Value of step size when learning rate scheduler is 'step'. Must be a positive integer.

stepLRStepSize?: string

Property Value

string

Inherited From ImageModelDistributionSettings.stepLRStepSize

trainingBatchSize

Training batch size. Must be a positive integer.

trainingBatchSize?: string

Property Value

string

Inherited From ImageModelDistributionSettings.trainingBatchSize

validationBatchSize

Validation batch size. Must be a positive integer.

validationBatchSize?: string

Property Value

string

Inherited From ImageModelDistributionSettings.validationBatchSize

warmupCosineLRCycles

Value of cosine cycle when learning rate scheduler is 'warmup_cosine'. Must be a float in the range [0, 1].

warmupCosineLRCycles?: string

Property Value

string

Inherited From ImageModelDistributionSettings.warmupCosineLRCycles

warmupCosineLRWarmupEpochs

Value of warmup epochs when learning rate scheduler is 'warmup_cosine'. Must be a positive integer.

warmupCosineLRWarmupEpochs?: string

Property Value

string

Inherited From ImageModelDistributionSettings.warmupCosineLRWarmupEpochs

weightDecay

Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be a float in the range[0, 1].

weightDecay?: string

Property Value

string

Inherited From ImageModelDistributionSettings.weightDecay