ResNet
この記事では、Azure Machine Learning デザイナーの ResNet コンポーネントを使用して、ResNet アルゴリズムを用いてイメージ分類モデルを作成する方法について説明します。
この分類アルゴリズムは、教師あり学習手法であり、ラベル付きデータセットが必要です。
Note
このコンポーネントは、スタジオの [データのラベル付け] から生成されたラベル付きデータセットはサポートしておらず、[Convert to Image Directory]\(イメージ ディレクトリへの変換\) コンポーネントから生成されたラベル付きイメージ ディレクトリのみサポートしています。
モデルをトレーニングするには、PyTorch モデルのトレーニング 入力として、モデルとラベル付けされたイメージ ディレクトリを指定します。 その後、トレーニングされたモデルを使用して、Score Image Model を使用した新しい入力例の値を予測することができます。
ResNet の詳細
ResNet の詳細については、こちらの資料を参照してください。
ResNet を構成する方法
デザイナーで、ResNet コンポーネントをパイプラインに追加します。
Model name には、特定の ResNet 構造体の名前を指定します。サポートされている次の resnet から選択できます: 'resnet18'、'resnet34'、'resnet50'、'resnet101'、'resnet152'、'resnet152'、'resnext50_32x4d'、'resnext101_32x8d'、'wide_resnet50_2'、'wide_resnet101_2'。
Pretrained (事前トレーニング済み) には、ImageNet で事前トレーニングされているモデルを使用するかどうかを指定します。 選択した場合は、選択した事前トレーニング済みモデルに基づいてモデルを微調整できます。選択を解除した場合は、ゼロからトレーニングできます。
[Zero init residual]\(残余のゼロ初期化\) には、残余ブランチごとに、最後のバッチ正規化レイヤーをゼロ初期化するかどうかを指定します。 選択した場合、残余ブランチはゼロで始まり、それぞれの残余ブロックは識別子のように動作します。 このことは、 https://arxiv.org/abs/1706.02677 によると、大きなバッチ サイズでの収束に役立ちます。
ResNet コンポーネント、トレーニングおよび検証イメージ データセット コンポーネントの出力を、Train PyTorch モデルに接続します。
パイプラインを送信します。
結果
パイプラインの実行が完了した後、モデルをスコア付けに使用するには、PyTorch モデルのトレーニングを画像モデルのスコア付けに接続し、新しい入力例の値を予測します。
テクニカル ノート
コンポーネントのパラメーター
名前 | Range | Type | Default | 説明 |
---|---|---|---|---|
モデル名 | Any | モード | resnext101_32x8d | 特定の ResNet 構造体の名前 |
Pretrained | Any | Boolean | True | ImageNet で事前トレーニング済みモデルを使用するかどうか |
Zero init residual (残余のゼロ初期化) | Any | Boolean | False | 残余ブランチごとに、最後のバッチ正規化レイヤーをゼロ初期化するかどうか |
出力
名前 | 種類 | 説明 |
---|---|---|
未トレーニング モデル | UntrainedModelDirectory | PyTorch モデルのトレーニングに接続できるトレーニングされていない ResNet モデル。 |
次のステップ
Azure Machine Learning で使用できる一連のコンポーネントを参照してください。