ImageModelSettingsObjectDetection interface

Settings used for training the model. 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 a 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.

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.

Inherited Properties

advancedSettings

Settings for advanced scenarios.

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].

checkpointFrequency

Frequency to store model checkpoints. Must be a positive integer.

checkpointModel

The pretrained checkpoint model for incremental training.

checkpointRunId

The id of a previous run that has a pretrained checkpoint for incremental training.

distributed

Whether to use distributed 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.

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?: number

Property Value

number

boxScoreThreshold

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

boxScoreThreshold?: number

Property Value

number

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?: number

Property Value

number

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?: number

Property Value

number

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?: number

Property Value

number

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?: boolean

Property Value

boolean

nmsIouThreshold

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

nmsIouThreshold?: number

Property Value

number

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?: number

Property Value

number

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.

tilePredictionsNmsThreshold?: number

Property Value

number

validationIouThreshold

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

validationIouThreshold?: number

Property Value

number

validationMetricType

Metric computation method to use for validation metrics.

validationMetricType?: string

Property Value

string

Inherited Property Details

advancedSettings

Settings for advanced scenarios.

advancedSettings?: string

Property Value

string

Inherited From ImageModelSettings.advancedSettings

amsGradient

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

amsGradient?: boolean

Property Value

boolean

Inherited From ImageModelSettings.amsGradient

augmentations

Settings for using Augmentations.

augmentations?: string

Property Value

string

Inherited From ImageModelSettings.augmentations

beta1

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

beta1?: number

Property Value

number

Inherited From ImageModelSettings.beta1

beta2

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

beta2?: number

Property Value

number

Inherited From ImageModelSettings.beta2

checkpointFrequency

Frequency to store model checkpoints. Must be a positive integer.

checkpointFrequency?: number

Property Value

number

Inherited From ImageModelSettings.checkpointFrequency

checkpointModel

The pretrained checkpoint model for incremental training.

checkpointModel?: MLFlowModelJobInput

Property Value

Inherited From ImageModelSettings.checkpointModel

checkpointRunId

The id of a previous run that has a pretrained checkpoint for incremental training.

checkpointRunId?: string

Property Value

string

Inherited From ImageModelSettings.checkpointRunId

distributed

Whether to use distributed training.

distributed?: boolean

Property Value

boolean

Inherited From ImageModelSettings.distributed

earlyStopping

Enable early stopping logic during training.

earlyStopping?: boolean

Property Value

boolean

Inherited From ImageModelSettings.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?: number

Property Value

number

Inherited From ImageModelSettings.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?: number

Property Value

number

Inherited From ImageModelSettings.earlyStoppingPatience

enableOnnxNormalization

Enable normalization when exporting ONNX model.

enableOnnxNormalization?: boolean

Property Value

boolean

Inherited From ImageModelSettings.enableOnnxNormalization

evaluationFrequency

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

evaluationFrequency?: number

Property Value

number

Inherited From ImageModelSettings.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?: number

Property Value

number

Inherited From ImageModelSettings.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?: number

Property Value

number

Inherited From ImageModelSettings.layersToFreeze

learningRate

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

learningRate?: number

Property Value

number

Inherited From ImageModelSettings.learningRate

learningRateScheduler

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

learningRateScheduler?: string

Property Value

string

Inherited From ImageModelSettings.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 ImageModelSettings.modelName

momentum

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

momentum?: number

Property Value

number

Inherited From ImageModelSettings.momentum

nesterov

Enable nesterov when optimizer is 'sgd'.

nesterov?: boolean

Property Value

boolean

Inherited From ImageModelSettings.nesterov

numberOfEpochs

Number of training epochs. Must be a positive integer.

numberOfEpochs?: number

Property Value

number

Inherited From ImageModelSettings.numberOfEpochs

numberOfWorkers

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

numberOfWorkers?: number

Property Value

number

Inherited From ImageModelSettings.numberOfWorkers

optimizer

Type of optimizer.

optimizer?: string

Property Value

string

Inherited From ImageModelSettings.optimizer

randomSeed

Random seed to be used when using deterministic training.

randomSeed?: number

Property Value

number

Inherited From ImageModelSettings.randomSeed

stepLRGamma

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

stepLRGamma?: number

Property Value

number

Inherited From ImageModelSettings.stepLRGamma

stepLRStepSize

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

stepLRStepSize?: number

Property Value

number

Inherited From ImageModelSettings.stepLRStepSize

trainingBatchSize

Training batch size. Must be a positive integer.

trainingBatchSize?: number

Property Value

number

Inherited From ImageModelSettings.trainingBatchSize

validationBatchSize

Validation batch size. Must be a positive integer.

validationBatchSize?: number

Property Value

number

Inherited From ImageModelSettings.validationBatchSize

warmupCosineLRCycles

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

warmupCosineLRCycles?: number

Property Value

number

Inherited From ImageModelSettings.warmupCosineLRCycles

warmupCosineLRWarmupEpochs

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

warmupCosineLRWarmupEpochs?: number

Property Value

number

Inherited From ImageModelSettings.warmupCosineLRWarmupEpochs

weightDecay

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

weightDecay?: number

Property Value

number

Inherited From ImageModelSettings.weightDecay