

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 图像分类超参数
<a name="IC-Hyperparameter"></a>

超参数是在机器学习模型开始学习之前设置的参数。Amazon A SageMaker I 内置的图像分类算法支持以下超参数。有关图像分类超参数优化的信息，请参阅[优化图像分类模型](IC-tuning.md)。


| 参数名称 | 说明 | 
| --- | --- | 
| num\$1classes | 输出分类的数量。此参数定义网络输出的维度，通常设置为数据集中的类别数。 除了多类别分类外，还支持多标签分类。有关如何使用增强清单文件处理多标签分类的详情，请参阅[图像分类算法的输入/输出接口](image-classification.md#IC-inputoutput)。 **必填** 有效值：正整数  | 
| num\$1training\$1samples | 输入数据集中的训练示例数。 如果此值与训练集中的示例数不匹配，则 `lr_scheduler_step` 参数的行为未定义，且分布式训练准确率可能会受影响。 **必填** 有效值：正整数  | 
| augmentation\$1type |  数据扩增类型。输入图像可按照下面指定的多种方式扩增。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/IC-Hyperparameter.html) **可选**  有效值：`crop`、`crop_color` 或 `crop_color_transform`。 默认值：无默认值  | 
| beta\$11 | `adam` 的 beta1，也就是一阶矩估计的指数衰减速率。 **可选**  有效值：浮点值。范围为 [0, 1]。 默认值：0.9 | 
| beta\$12 | `adam` 的 beta2，也就是二阶矩估计的指数衰减速率。 **可选**  有效值：浮点值。范围为 [0, 1]。 默认值：0.999 | 
| checkpoint\$1frequency | 存储模型参数的周期 (纪元数)。 请注意，所有检查点文件都会作为最终模型文件“model.tar.gz”的一部分保存，并上传到 S3 中的指定模型位置。这将根据训练期间保存的检查点数按比例增加模型文件的大小。 **可选** 有效值：不大于 `epochs` 的正整数。 默认值：无默认值（在验证准确率最高的纪元保存检查点。） | 
| early\$1stopping | `True` 表示在训练期间使用提前停止逻辑。`False` 表示不使用它。 **可选** 有效值：`True` 或 `False` 默认值：`False` | 
| early\$1stopping\$1min\$1epochs | 可以调用提前停止逻辑之前必须运行的最小纪元数。仅当 `early_stopping` = `True` 时使用它。 **可选** 有效值：正整数 默认值：10 | 
| early\$1stopping\$1patience | 如果在相关指标中没有改进，则在结束训练前等待的纪元数。仅当 `early_stopping` = `True` 时使用它。 **可选** 有效值：正整数 默认值：5 | 
| early\$1stopping\$1tolerance | 用于评估准确率验证指标改善的相对容差。如果准确率改善除以上一个最佳准确率的比率小于设置的 `early_stopping_tolerance` 值，则提前停止逻辑会认为没有改善。仅当 `early_stopping` = `True` 时使用它。 **可选** 有效值：0 ≤ 浮点值 ≤ 1 默认值：0.0 | 
| epochs | 训练纪元数。 **可选** 有效值：正整数 默认值：30 | 
| eps | `adam` 和 `rmsprop` 的 epsilon 值。它通常设置为较小的值，以避免被 0 除。 **可选** 有效值：浮点值。范围为 [0, 1]。 默认值：1e-8 | 
| gamma | `rmsprop` 的 gamma 值，平方梯度的移动平均值的衰减系数。 **可选** 有效值：浮点值。范围为 [0, 1]。 默认值：0.9 | 
| image\$1shape | 输入图像尺寸，该尺寸与网络输入层的大小相同。其格式定义为“`num_channels`, 高度, 宽度”。图像尺寸可具有任意值，因为网络可处理各种尺寸的输入。但是，如果使用较大图像尺寸，可能会有内存限制。预训练模型只能使用高度 x 宽度为 224 x 224 的固定图像大小。典型图像分类的典型图像尺寸为“3,224,224”。这与 ImageNet 数据集类似。 对于训练，如果任何输入图像的任何尺寸小于此参数，则训练将失败。如果图像较大，则会裁剪图像的一部分，并由此参数指定裁剪区域。如果设置了超参数 `augmentation_type`，则采用随机裁剪，否则将采取中央裁剪。 在推理时，输入图像的大小调整为 `image_shape`，这是在训练期间使用的大小。不保留纵横比，也不裁剪图像。 **可选** 有效值：字符串 默认值：“3,224,224” | 
| kv\$1store |  分布式训练期间的权重更新同步模式。可对各机器同步或异步更新权重更新。同步更新通常比异步更新提供更好的准确率，但速度较慢。有关更多详细信息， MXNet 请参阅中的分布式训练。 此参数不适用于单个机器训练。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/IC-Hyperparameter.html) **可选** 有效值：`dist_sync` 或 `dist_async` 默认值：无默认值  | 
| learning\$1rate | 初始学习率。 **可选** 有效值：浮点值。范围为 [0, 1]。 默认值：0.1 | 
| lr\$1scheduler\$1factor | 与 `lr_scheduler_step` 参数结合使用以降低学习率的比率，定义为 `lr_new` = `lr_old` \$1 `lr_scheduler_factor`。 **可选** 有效值：浮点值。范围为 [0, 1]。 默认值：0.1 | 
| lr\$1scheduler\$1step | 降低学习率的纪元。正如 `lr_scheduler_factor` 参数中所述，学习率在这些纪元降低了 `lr_scheduler_factor`。例如，如果将值设置为“10, 20”，则学习率在第 10 纪元之后降低 `lr_scheduler_factor`，然后在第 20 纪元之后再次降低 `lr_scheduler_factor`。纪元之间用“,”分隔。 **可选** 有效值：字符串 默认值：无默认值 | 
| mini\$1batch\$1size | 训练的批次大小。在单机器多 GPU 设置中，每个 GPU 处理 `mini_batch_size`/num\$1gpu 个训练样本。对于 dist\$1sync 模式下的多机器训练，实际批次大小为 `mini_batch_size`\$1机器数量。有关更多详细信息，请参阅 MXNet 文档。 **可选** 有效值：正整数 默认值：32 | 
| momentum | 用于 `sgd` 和 `nag` 的动量，其他优化程序忽略此值。 **可选** 有效值：浮点值。范围为 [0, 1]。 默认值：0.9 | 
| multi\$1label |  用于多标签分类的标志，其中每个示例可以分配多个标签。记录所有分类的平均准确率。 **可选** 有效值：0 或 1 默认值：0  | 
| num\$1layers | 网络的层数。对于图像大小较大的数据（例如，224x224-类似 ImageNet），我们建议从集合中选择图层数 [18、34、50、101、152、200]。对于包含小尺寸图像的数据 (例如 28x28 - 像 CIFAR)，建议从数据集 [20, 32, 44, 56, 110] 中选择层数。每组中的图层数以 p ResNet aper 为基础。对于迁移学习，层数定义了基础网络的架构，因此只能从数据集 [18, 34, 50, 101, 152, 200] 中选择。 **可选** 有效值：[18, 34, 50, 101, 152, 200] 或 [20, 32, 44, 56, 110] 中的正整数 默认值：152 | 
| optimizer | 优化程序类型。有关优化器参数的更多详细信息，请参阅 MXNet的 API。 **可选** 有效值：`sgd`、`adam`、`rmsprop` 或 `nag` 之一。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/IC-Hyperparameter.html) 默认值：`sgd` | 
| precision\$1dtype | 用于训练的权重精度。该算法可以对权重使用单精度 (`float32`) 或半精度 (`float16`)。对权重使用半精度会使内存消耗量减少。 **可选** 有效值：`float32` 或 `float16` 默认值：`float32` | 
| resize | 调整图像大小以进行训练后，图像最短边的像素数。如果未设置此参数，则使用训练数据时不调整大小。参数应该大于 `image_shape` 的宽度和高度分量，以防止训练失败。 使用图像内容类型时为**必需** 使用 RecordIO 内容类型时为**可选** 有效值：正整数 默认值：无默认值  | 
| top\$1k | 训练期间报告前 k 个最大数准确率。此参数必须大于 1，因为 top-1 训练准确率与已报告的常规训练准确率相同。 **可选** 有效值：大于 1 的正整数。 默认值：无默认值 | 
| use\$1pretrained\$1model | 指示使用预先训练的模型进行训练的标志。如果设置为 1，则加载具有相应层数的预先训练的模型并将其用于训练。只有顶部 FC 层使用随机权重进行重新初始化。否则，从头训练网络。 **可选** 有效值：0 或 1 默认值：0 | 
| use\$1weighted\$1loss |  用于多标签分类的加权交叉熵损失的标志（仅在 `multi_label` = 1 时使用），其中权重是基于分类的分布计算的。 **可选** 有效值：0 或 1 默认值：0  | 
| weight\$1decay | 用于 `sgd` 和 `nag` 的权重衰减系数，其他优化程序忽略此值。 **可选** 有效值：浮点值。范围为 [0, 1]。 默认值：0.0001 | 