Class ImageModelDistributionSettingsClassification
java.lang.Object
com.azure.resourcemanager.machinelearning.models.ImageModelDistributionSettings
com.azure.resourcemanager.machinelearning.models.ImageModelDistributionSettingsClassification
- All Implemented Interfaces:
com.azure.json.JsonSerializable<ImageModelDistributionSettings>
public final class ImageModelDistributionSettingsClassification
extends ImageModelDistributionSettings
Distribution expressions to sweep over values of model settings.
<example>
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.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance of ImageModelDistributionSettingsClassification class. -
Method Summary
Modifier and TypeMethodDescriptionfromJson(com.azure.json.JsonReader jsonReader) Reads an instance of ImageModelDistributionSettingsClassification from the JsonReader.com.azure.json.JsonWritertoJson(com.azure.json.JsonWriter jsonWriter) Get the trainingCropSize property: Image crop size that is input to the neural network for the training dataset.voidvalidate()Validates the instance.Get the validationCropSize property: Image crop size that is input to the neural network for the validation dataset.Get the validationResizeSize property: Image size to which to resize before cropping for validation dataset.Get the weightedLoss property: Weighted loss.withAmsGradient(String amsGradient) Set the amsGradient property: Enable AMSGrad when optimizer is 'adam' or 'adamw'.withAugmentations(String augmentations) Set the augmentations property: Settings for using Augmentations.Set the beta1 property: Value of 'beta1' when optimizer is 'adam' or 'adamw'.Set the beta2 property: Value of 'beta2' when optimizer is 'adam' or 'adamw'.withDistributed(String distributed) Set the distributed property: Whether to use distributer training.withEarlyStopping(String earlyStopping) Set the earlyStopping property: Enable early stopping logic during training.withEarlyStoppingDelay(String earlyStoppingDelay) Set the earlyStoppingDelay property: Minimum number of epochs or validation evaluations to wait before primary metric improvement is tracked for early stopping.withEarlyStoppingPatience(String earlyStoppingPatience) Set the earlyStoppingPatience property: Minimum number of epochs or validation evaluations with no primary metric improvement before the run is stopped.withEnableOnnxNormalization(String enableOnnxNormalization) Set the enableOnnxNormalization property: Enable normalization when exporting ONNX model.withEvaluationFrequency(String evaluationFrequency) Set the evaluationFrequency property: Frequency to evaluate validation dataset to get metric scores.withGradientAccumulationStep(String gradientAccumulationStep) Set the gradientAccumulationStep property: 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.withLayersToFreeze(String layersToFreeze) Set the layersToFreeze property: Number of layers to freeze for the model.withLearningRate(String learningRate) Set the learningRate property: Initial learning rate.withLearningRateScheduler(String learningRateScheduler) Set the learningRateScheduler property: Type of learning rate scheduler.withModelName(String modelName) Set the modelName property: Name of the model to use for training.withMomentum(String momentum) Set the momentum property: Value of momentum when optimizer is 'sgd'.withNesterov(String nesterov) Set the nesterov property: Enable nesterov when optimizer is 'sgd'.withNumberOfEpochs(String numberOfEpochs) Set the numberOfEpochs property: Number of training epochs.withNumberOfWorkers(String numberOfWorkers) Set the numberOfWorkers property: Number of data loader workers.withOptimizer(String optimizer) Set the optimizer property: Type of optimizer.withRandomSeed(String randomSeed) Set the randomSeed property: Random seed to be used when using deterministic training.withStepLRGamma(String stepLRGamma) Set the stepLRGamma property: Value of gamma when learning rate scheduler is 'step'.withStepLRStepSize(String stepLRStepSize) Set the stepLRStepSize property: Value of step size when learning rate scheduler is 'step'.withTrainingBatchSize(String trainingBatchSize) Set the trainingBatchSize property: Training batch size.withTrainingCropSize(String trainingCropSize) Set the trainingCropSize property: Image crop size that is input to the neural network for the training dataset.withValidationBatchSize(String validationBatchSize) Set the validationBatchSize property: Validation batch size.withValidationCropSize(String validationCropSize) Set the validationCropSize property: Image crop size that is input to the neural network for the validation dataset.withValidationResizeSize(String validationResizeSize) Set the validationResizeSize property: Image size to which to resize before cropping for validation dataset.withWarmupCosineLRCycles(String warmupCosineLRCycles) Set the warmupCosineLRCycles property: Value of cosine cycle when learning rate scheduler is 'warmup_cosine'.withWarmupCosineLRWarmupEpochs(String warmupCosineLRWarmupEpochs) Set the warmupCosineLRWarmupEpochs property: Value of warmup epochs when learning rate scheduler is 'warmup_cosine'.withWeightDecay(String weightDecay) Set the weightDecay property: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'.withWeightedLoss(String weightedLoss) Set the weightedLoss property: Weighted loss.Methods inherited from class com.azure.resourcemanager.machinelearning.models.ImageModelDistributionSettings
amsGradient, augmentations, beta1, beta2, distributed, earlyStopping, earlyStoppingDelay, earlyStoppingPatience, enableOnnxNormalization, evaluationFrequency, gradientAccumulationStep, layersToFreeze, learningRate, learningRateScheduler, modelName, momentum, nesterov, numberOfEpochs, numberOfWorkers, optimizer, randomSeed, stepLRGamma, stepLRStepSize, trainingBatchSize, validationBatchSize, warmupCosineLRCycles, warmupCosineLRWarmupEpochs, weightDecayMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.azure.json.JsonSerializable
toJson, toJson, toJsonBytes, toJsonString
-
Constructor Details
-
ImageModelDistributionSettingsClassification
public ImageModelDistributionSettingsClassification()Creates an instance of ImageModelDistributionSettingsClassification class.
-
-
Method Details
-
trainingCropSize
Get the trainingCropSize property: Image crop size that is input to the neural network for the training dataset. Must be a positive integer.- Returns:
- the trainingCropSize value.
-
withTrainingCropSize
Set the trainingCropSize property: Image crop size that is input to the neural network for the training dataset. Must be a positive integer.- Parameters:
trainingCropSize- the trainingCropSize value to set.- Returns:
- the ImageModelDistributionSettingsClassification object itself.
-
validationCropSize
Get the validationCropSize property: Image crop size that is input to the neural network for the validation dataset. Must be a positive integer.- Returns:
- the validationCropSize value.
-
withValidationCropSize
public ImageModelDistributionSettingsClassification withValidationCropSize(String validationCropSize) Set the validationCropSize property: Image crop size that is input to the neural network for the validation dataset. Must be a positive integer.- Parameters:
validationCropSize- the validationCropSize value to set.- Returns:
- the ImageModelDistributionSettingsClassification object itself.
-
validationResizeSize
Get the validationResizeSize property: Image size to which to resize before cropping for validation dataset. Must be a positive integer.- Returns:
- the validationResizeSize value.
-
withValidationResizeSize
public ImageModelDistributionSettingsClassification withValidationResizeSize(String validationResizeSize) Set the validationResizeSize property: Image size to which to resize before cropping for validation dataset. Must be a positive integer.- Parameters:
validationResizeSize- the validationResizeSize value to set.- Returns:
- the ImageModelDistributionSettingsClassification object itself.
-
weightedLoss
Get the weightedLoss property: Weighted loss. The accepted values are 0 for no weighted loss. 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be 0 or 1 or 2.- Returns:
- the weightedLoss value.
-
withWeightedLoss
Set the weightedLoss property: Weighted loss. The accepted values are 0 for no weighted loss. 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be 0 or 1 or 2.- Parameters:
weightedLoss- the weightedLoss value to set.- Returns:
- the ImageModelDistributionSettingsClassification object itself.
-
withAmsGradient
Set the amsGradient property: Enable AMSGrad when optimizer is 'adam' or 'adamw'.- Overrides:
withAmsGradientin classImageModelDistributionSettings- Parameters:
amsGradient- the amsGradient value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withAugmentations
Set the augmentations property: Settings for using Augmentations.- Overrides:
withAugmentationsin classImageModelDistributionSettings- Parameters:
augmentations- the augmentations value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withBeta1
Set the beta1 property: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].- Overrides:
withBeta1in classImageModelDistributionSettings- Parameters:
beta1- the beta1 value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withBeta2
Set the beta2 property: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range [0, 1].- Overrides:
withBeta2in classImageModelDistributionSettings- Parameters:
beta2- the beta2 value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withDistributed
Set the distributed property: Whether to use distributer training.- Overrides:
withDistributedin classImageModelDistributionSettings- Parameters:
distributed- the distributed value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withEarlyStopping
Set the earlyStopping property: Enable early stopping logic during training.- Overrides:
withEarlyStoppingin classImageModelDistributionSettings- Parameters:
earlyStopping- the earlyStopping value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withEarlyStoppingDelay
public ImageModelDistributionSettingsClassification withEarlyStoppingDelay(String earlyStoppingDelay) Set the earlyStoppingDelay property: Minimum number of epochs or validation evaluations to wait before primary metric improvement is tracked for early stopping. Must be a positive integer.- Overrides:
withEarlyStoppingDelayin classImageModelDistributionSettings- Parameters:
earlyStoppingDelay- the earlyStoppingDelay value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withEarlyStoppingPatience
public ImageModelDistributionSettingsClassification withEarlyStoppingPatience(String earlyStoppingPatience) Set the earlyStoppingPatience property: Minimum number of epochs or validation evaluations with no primary metric improvement before the run is stopped. Must be a positive integer.- Overrides:
withEarlyStoppingPatiencein classImageModelDistributionSettings- Parameters:
earlyStoppingPatience- the earlyStoppingPatience value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withEvaluationFrequency
public ImageModelDistributionSettingsClassification withEvaluationFrequency(String evaluationFrequency) Set the evaluationFrequency property: Frequency to evaluate validation dataset to get metric scores. Must be a positive integer.- Overrides:
withEvaluationFrequencyin classImageModelDistributionSettings- Parameters:
evaluationFrequency- the evaluationFrequency value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withEnableOnnxNormalization
public ImageModelDistributionSettingsClassification withEnableOnnxNormalization(String enableOnnxNormalization) Set the enableOnnxNormalization property: Enable normalization when exporting ONNX model.- Overrides:
withEnableOnnxNormalizationin classImageModelDistributionSettings- Parameters:
enableOnnxNormalization- the enableOnnxNormalization value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withGradientAccumulationStep
public ImageModelDistributionSettingsClassification withGradientAccumulationStep(String gradientAccumulationStep) Set the gradientAccumulationStep property: 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.- Overrides:
withGradientAccumulationStepin classImageModelDistributionSettings- Parameters:
gradientAccumulationStep- the gradientAccumulationStep value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withLayersToFreeze
Set the layersToFreeze property: 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.- Overrides:
withLayersToFreezein classImageModelDistributionSettings- Parameters:
layersToFreeze- the layersToFreeze value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withLearningRate
Set the learningRate property: Initial learning rate. Must be a float in the range [0, 1].- Overrides:
withLearningRatein classImageModelDistributionSettings- Parameters:
learningRate- the learningRate value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withLearningRateScheduler
public ImageModelDistributionSettingsClassification withLearningRateScheduler(String learningRateScheduler) Set the learningRateScheduler property: Type of learning rate scheduler. Must be 'warmup_cosine' or 'step'.- Overrides:
withLearningRateSchedulerin classImageModelDistributionSettings- Parameters:
learningRateScheduler- the learningRateScheduler value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withModelName
Set the modelName property: 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.- Overrides:
withModelNamein classImageModelDistributionSettings- Parameters:
modelName- the modelName value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withMomentum
Set the momentum property: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].- Overrides:
withMomentumin classImageModelDistributionSettings- Parameters:
momentum- the momentum value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withNesterov
Set the nesterov property: Enable nesterov when optimizer is 'sgd'.- Overrides:
withNesterovin classImageModelDistributionSettings- Parameters:
nesterov- the nesterov value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withNumberOfEpochs
Set the numberOfEpochs property: Number of training epochs. Must be a positive integer.- Overrides:
withNumberOfEpochsin classImageModelDistributionSettings- Parameters:
numberOfEpochs- the numberOfEpochs value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withNumberOfWorkers
Set the numberOfWorkers property: Number of data loader workers. Must be a non-negative integer.- Overrides:
withNumberOfWorkersin classImageModelDistributionSettings- Parameters:
numberOfWorkers- the numberOfWorkers value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withOptimizer
Set the optimizer property: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.- Overrides:
withOptimizerin classImageModelDistributionSettings- Parameters:
optimizer- the optimizer value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withRandomSeed
Set the randomSeed property: Random seed to be used when using deterministic training.- Overrides:
withRandomSeedin classImageModelDistributionSettings- Parameters:
randomSeed- the randomSeed value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withStepLRGamma
Set the stepLRGamma property: Value of gamma when learning rate scheduler is 'step'. Must be a float in the range [0, 1].- Overrides:
withStepLRGammain classImageModelDistributionSettings- Parameters:
stepLRGamma- the stepLRGamma value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withStepLRStepSize
Set the stepLRStepSize property: Value of step size when learning rate scheduler is 'step'. Must be a positive integer.- Overrides:
withStepLRStepSizein classImageModelDistributionSettings- Parameters:
stepLRStepSize- the stepLRStepSize value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withTrainingBatchSize
Set the trainingBatchSize property: Training batch size. Must be a positive integer.- Overrides:
withTrainingBatchSizein classImageModelDistributionSettings- Parameters:
trainingBatchSize- the trainingBatchSize value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withValidationBatchSize
public ImageModelDistributionSettingsClassification withValidationBatchSize(String validationBatchSize) Set the validationBatchSize property: Validation batch size. Must be a positive integer.- Overrides:
withValidationBatchSizein classImageModelDistributionSettings- Parameters:
validationBatchSize- the validationBatchSize value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withWarmupCosineLRCycles
public ImageModelDistributionSettingsClassification withWarmupCosineLRCycles(String warmupCosineLRCycles) Set the warmupCosineLRCycles property: Value of cosine cycle when learning rate scheduler is 'warmup_cosine'. Must be a float in the range [0, 1].- Overrides:
withWarmupCosineLRCyclesin classImageModelDistributionSettings- Parameters:
warmupCosineLRCycles- the warmupCosineLRCycles value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withWarmupCosineLRWarmupEpochs
public ImageModelDistributionSettingsClassification withWarmupCosineLRWarmupEpochs(String warmupCosineLRWarmupEpochs) Set the warmupCosineLRWarmupEpochs property: Value of warmup epochs when learning rate scheduler is 'warmup_cosine'. Must be a positive integer.- Overrides:
withWarmupCosineLRWarmupEpochsin classImageModelDistributionSettings- Parameters:
warmupCosineLRWarmupEpochs- the warmupCosineLRWarmupEpochs value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
withWeightDecay
Set the weightDecay property: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be a float in the range[0, 1].- Overrides:
withWeightDecayin classImageModelDistributionSettings- Parameters:
weightDecay- the weightDecay value to set.- Returns:
- the ImageModelDistributionSettings object itself.
-
validate
public void validate()Validates the instance.- Overrides:
validatein classImageModelDistributionSettings- Throws:
IllegalArgumentException- thrown if the instance is not valid.
-
toJson
- Specified by:
toJsonin interfacecom.azure.json.JsonSerializable<ImageModelDistributionSettings>- Overrides:
toJsonin classImageModelDistributionSettings- Throws:
IOException
-
fromJson
public static ImageModelDistributionSettingsClassification fromJson(com.azure.json.JsonReader jsonReader) throws IOException Reads an instance of ImageModelDistributionSettingsClassification from the JsonReader.- Parameters:
jsonReader- The JsonReader being read.- Returns:
- An instance of ImageModelDistributionSettingsClassification if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
- Throws:
IOException- If an error occurs while reading the ImageModelDistributionSettingsClassification.
-