メニュー
Amazon SageMaker
開発者ガイド

ハイパーパラメータ

パラメーター名 説明
num_classes

出力クラスの数。このパラメータは、ネットワーク出力のディメンションを定義し、通常はデータセット内のクラス数に設定されます。

有効な値: 正の整数

デフォルト値: -

num_training_samples

入力データセット内のトレーニング例の数。

この値とトレーニングセット内のサンプル数が一致しない場合、lr_scheduler_step パラメータの動作は未定義になり、分散型トレーニングの精度に影響することがあります。

有効な値: 正の整数

デフォルト値: -

use_pretrained_model

トレーニングに事前トレーニング済みのモデルを使用するかどうかを示すフラグ。1 に設定すると、対応するレイヤー数の事前トレーニング済みモデルがロードされ、トレーニングに使用されます。最上位 FC レイヤーのみがランダムな重みで再初期化されます。それ以外の場合、ネットワークはゼロからトレーニングされます。

有効な値: 0 または 1

デフォルト値: 0

checkpoint_frequency

モデルパラメータを保存する期間 (エポック数)。

有効な値: epochs 以下の正の整数。

デフォルト値: epochs (最後のエポックでチェックポイントを保存)

num_layers

ネットワークのレイヤー数。大きなイメージサイズ (たとえば、224x224 - ImageNet など) のデータでは、レイヤー数をセット [18、34、50、101、152、200] から選択することをお勧めします。小さなイメージサイズ (たとえば、28x28 - CIFAR など) のデータでは、レイヤー数をセット [20、32、44、56、110] から選択することをお勧めします。各セット内のレイヤー数は ResNet の論文に基づきます。転移学習では、レイヤー数は基本ネットワークのアーキテクチャを定義するため、セット [18、34、50、101、152、200] からのみ選択できます。

有効な値: [18、34、50、101、152、200] または [20、32、44、56、110] 内の正の整数。

デフォルト値: 152

resize

トレーニングに使用する前にイメージのサイズを変更します。イメージは、最も短い辺がこのパラメータになるようにサイズ変更されます。パラメータが設定されていない場合、トレーニングデータはサイズ変更なしで使用されます。注意: このオプションは、トレーニングおよび検証チャネルで application/x-image コンテンツタイプとして指定された入力でのみ使用可能です。

有効な値: 正の整数

デフォルト値: -

epochs

トレーニングエポックの数。

有効な値: 正の整数

デフォルト値: 30

learning_rate

初期学習レート。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.1

lr_scheduler_factor

lr_new = lr_old * lr_scheduler_factor として定義される、lr_scheduler_step パラメータと組み合わせて使用される学習レートを下げる率。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.1

lr_scheduler_step

学習レートを下げるエポック。lr_scheduler_factor パラメータで説明しているように、学習レートはこれらのエポックで lr_scheduler_factor だけ下げられます。たとえば、値が "10, 20" に設定されている場合、学習レートは 10 番目のエポックの後に lr_scheduler_factor だけ下げられ、20 番目のエポックの後に再び lr_scheduler_factor だけ下げられます。エポックは "," で区切られます。

有効な値: 文字列

デフォルト値: -

optimizer

オプティマイザのタイプ。オプティマイザのパラメータの詳細については、MXNet の API を参照してください。

有効な値: sgdadamrmspropnag のいずれか。

デフォルト値: sgd

momentum

sgdnag のモーメンタムで、他のオプティマイザでは無視されます。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0

weight_decay

sgdnag の係数重み減衰で、他のオプティマイザでは無視されます。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.0001

beta_1

adam の beta1。つまり、最初のモーメントの見積もりの指数関数的減衰率です。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.9

beta_2

adam の beta2。つまり、2 番目のモーメントの見積もりの指数関数的減衰率です。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.999

eps

adamrmsprop のイプシロン。通常は、0 で除算されないように小さな値に設定されます。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 1e-8

gamma

rmsprop のガンマ。勾配の 2 乗の移動平均の減衰係数です。

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.9

mini_batch_size

トレーニングのバッチサイズ。単一マシンのマルチ GPU の設定では、各 GPU は mini_batch_size/num_gpu トレーニングサンプルを処理します。dist_sync モードの複数マシントレーニングでは、実際のバッチサイズは mini_batch_size * マシン数です。詳細については、MXNet のドキュメントを参照してください。

有効な値: 正の整数

デフォルト値: 32

image_shape

入力イメージのディメンション。これはネットワークの入力レイヤーと同じサイズになります。フォーマットは "num_channels, 高さ, 幅" として定義されます。ネットワークが入力の多様なディメンションを処理できるため、イメージディメンションは任意の値を受け取ることができます。ただし、大きなイメージディメンションが使用されている場合はメモリの制約がある可能性があります。イメージ分類の一般的なイメージディメンションは "3, 224, 224" です。これは ImageNet データセットに似ています。

有効な値: 文字列

デフォルト値: "3, 224, 224"

augmentation_type

データ補強タイプ。入力イメージは、次に示す複数の方法で補強できます。

  • crop: イメージをランダムにトリミングし、水平に反転させます

  • crop_color: "トリミング" に加えて、[-36, 36]、[-50, 50]、および [-50, 50] の範囲の 3 つのランダム値がそれぞれ対応する色相、彩度、輝度チャネルに加算されます

  • crop_color_transform: crop_color に加えて、回転、せん断、アスペクト比のバリエーションなどのランダムな変換がイメージに適用されます。最大回転角度は 10 度、最大せん断比は 0.1、最大アスペクト変化比は 0.25 です。

有効な値: cropcrop_colorcrop_color_transform のいずれか。

デフォルト値: -

top_k

トレーニング中に top-k 精度をレポートします。top-1 トレーニング精度はすでに報告されている通常のトレーニング精度と同じであるため、このパラメータは 1 より大きい必要があります。

有効な値: 1 より大きい正の整数。

デフォルト値: -

kv_store

分散型トレーニング中の重み更新同期モード。重み更新は、複数マシン間で同期的または非同期的に更新できます。同期更新は、一般には非同期更新よりも精度が高くなりますが、低速な可能性があります。詳細については、MXNet の分散型トレーニングを参照してください。

このパラメータは、単一のマシントレーニングには適用されません。

  • dist_sync: 勾配はすべてのワーカーで各バッチの後に同期されます。dist_sync では、バッチサイズは各マシンで使用されるバッチサイズを意味します。したがって、n 台のマシンがあり、バッチサイズ b を使用する場合、dist_sync はバッチサイズ n*b でローカルのように動作します。

  • dist_async: 非同期更新を実行します。重みはマシンから勾配を受け取るたびに更新され、重みの更新はアトミックです。ただし、その順序は保証されません。

有効な値: dist_sync または dist_async

デフォルト値: なし