Image Classification - TensorFlow Hyperparameters - Amazon SageMaker
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

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