Image Classification - TensorFlow Hyperparameters - Amazon SageMaker AI

Image Classification - TensorFlow Hyperparameters

Hyperparameters are parameters that are set before a machine learning model begins learning. The following hyperparameters are supported by the Amazon SageMaker AI built-in Image Classification - TensorFlow algorithm. See Tune an Image Classification - TensorFlow model for information on hyperparameter tuning.

Parameter Name Description
augmentation

Set to "True" to apply augmentation_random_flip, augmentation_random_rotation, and augmentation_random_zoom to the training data.

Valid values: string, either: ("True" or "False").

Default value: "False".

augmentation_random_flip

Indicates which flip mode to use for data augmentation when augmentation is set to "True". For more information, see RandomFlip in the TensorFlow documentation.

Valid values: string, any of the following: ("horizontal_and_vertical", "vertical", or "None").

Default value: "horizontal_and_vertical".

augmentation_random_rotation

Indicates how much rotation to use for data augmentation when augmentation is set to "True". Values represent a fraction of 2π. Positive values rotate counterclockwise while negative values rotate clockwise. 0 means no rotation. For more information, see RandomRotation in the TensorFlow documentation.

Valid values: float, range: [-1.0, 1.0].

Default value: 0.2.

augmentation_random_zoom

Indicates how much vertical zoom to use for data augmentation when augmentation is set to "True". Positive values zoom out while negative values zoom in. 0 means no zoom. For more information, see RandomZoom in the TensorFlow documentation.

Valid values: float, range: [-1.0, 1.0].

Default value: 0.1.

batch_size

The batch size for training. For training on instances with multiple GPUs, this batch size is used across the GPUs.

Valid values: positive integer.

Default value: 32.

beta_1

The beta1 for the "adam" optimizer. Represents the exponential decay rate for the first moment estimates. Ignored for other optimizers.

Valid values: float, range: [0.0, 1.0].

Default value: 0.9.

beta_2

The beta2 for the "adam" optimizer. Represents the exponential decay rate for the second moment estimates. Ignored for other optimizers.

Valid values: float, range: [0.0, 1.0].

Default value: 0.999.

binary_mode

When binary_mode is set to "True", the model returns a single probability number for the positive class and can use additional eval_metric options. Use only for binary classification problems.

Valid values: string, either: ("True" or "False").

Default value: "False".

dropout_rate

The dropout rate for the dropout layer in the top classification layer.

Valid values: float, range: [0.0, 1.0].

Default value: 0.2

early_stopping

Set to "True" to use early stopping logic during training. If "False", early stopping is not used.

Valid values: string, either: ("True" or "False").

Default value: "False".

early_stopping_min_delta The minimum change needed to qualify as an improvement. An absolute change less than the value of early_stopping_min_delta does not qualify as improvement. Used only when early_stopping is set to "True".

Valid values: float, range: [0.0, 1.0].

Default value: 0.0.

early_stopping_patience

The number of epochs to continue training with no improvement. Used only when early_stopping is set to "True".

Valid values: positive integer.

Default value: 5.

epochs

The number of training epochs.

Valid values: positive integer.

Default value: 3.

epsilon

The epsilon for "adam", "rmsprop", "adadelta", and "adagrad" optimizers. Usually set to a small value to avoid division by 0. Ignored for other optimizers.

Valid values: float, range: [0.0, 1.0].

Default value: 1e-7.

eval_metric

If binary_mode is set to "False", eval_metric can only be "accuracy". If binary_mode is "True", select any of the valid values. For more information, see Metrics in the TensorFlow documentation.

Valid values: string, any of the following: ("accuracy", "precision", "recall", "auc", or "prc").

Default value: "accuracy".

image_resize_interpolation

Indicates interpolation method used when resizing images. For more information, see image.resize in the TensorFlow documentation.

Valid values: string, any of the following: ("bilinear", "nearest", "bicubic", "area", "lanczos3" , "lanczos5", "gaussian", or "mitchellcubic").

Default value: "bilinear".

initial_accumulator_value

The starting value for the accumulators, or the per-parameter momentum values, for the "adagrad" optimizer. Ignored for other optimizers.

Valid values: float, range: [0.0, 1.0].

Default value: 0.0001.

label_smoothing

Indicates how much to relax the confidence on label values. For example, if label_smoothing is 0.1, then non-target labels are 0.1/num_classes and target labels are 0.9+0.1/num_classes.

Valid values: float, range: [0.0, 1.0].

Default value: 0.1.

learning_rate The optimizer learning rate.

Valid values: float, range: [0.0, 1.0].

Default value: 0.001.

momentum

The momentum for "sgd", "nesterov", and "rmsprop" optimizers. Ignored for other optimizers.

Valid values: float, range: [0.0, 1.0].

Default value: 0.9.

optimizer

The optimizer type. For more information, see Optimizers in the TensorFlow documentation.

Valid values: string, any of the following: ("adam", "sgd", "nesterov", "rmsprop", "adagrad" , "adadelta").

Default value: "adam".

regularizers_l2

The L2 regularization factor for the dense layer in the classification layer.

Valid values: float, range: [0.0, 1.0].

Default value: .0001.

reinitialize_top_layer

If set to "Auto", the top classification layer parameters are re-initialized during fine-tuning. For incremental training, top classification layer parameters are not re-initialized unless set to "True".

Valid values: string, any of the following: ("Auto", "True" or "False").

Default value: "Auto".

rho

The discounting factor for the gradient of the "adadelta" and "rmsprop" optimizers. Ignored for other optimizers.

Valid values: float, range: [0.0, 1.0].

Default value: 0.95.

train_only_top_layer

If "True", only the top classification layer parameters are fine-tuned. If "False", all model parameters are fine-tuned.

Valid values: string, either: ("True" or "False").

Default value: "False".