次の方法で共有


ResNet

この記事では、Azure Machine Learning デザイナーの ResNet コンポーネントを使用して、ResNet アルゴリズムを用いてイメージ分類モデルを作成する方法について説明します。

この分類アルゴリズムは、教師あり学習手法であり、ラベル付きデータセットが必要です。

このコンポーネントは、スタジオの [データのラベル付け] から生成されたラベル付きデータセットはサポートしておらず、[Convert to Image Directory]\(イメージ ディレクトリへの変換\) コンポーネントから生成されたラベル付きイメージ ディレクトリのみサポートしています。

モデルをトレーニングするには、PyTorch モデルのトレーニング 入力として、モデルとラベル付けされたイメージ ディレクトリを指定します。 その後、トレーニングされたモデルを使用して、Score Image Model を使用した新しい入力例の値を予測することができます。

ResNet の詳細

ResNet の詳細については、こちらの資料を参照してください。

ResNet を構成する方法

  1. デザイナーで、ResNet コンポーネントをパイプラインに追加します。

  2. Model name には、特定の ResNet 構造体の名前を指定します。サポートされている次の resnet から選択できます: 'resnet18'、'resnet34'、'resnet50'、'resnet101'、'resnet152'、'resnet152'、'resnext50_32x4d'、'resnext101_32x8d'、'wide_resnet50_2'、'wide_resnet101_2'。

  3. Pretrained (事前トレーニング済み) には、ImageNet で事前トレーニングされているモデルを使用するかどうかを指定します。 選択した場合は、選択した事前トレーニング済みモデルに基づいてモデルを微調整できます。選択を解除した場合は、ゼロからトレーニングできます。

  4. [Zero init residual]\(残余のゼロ初期化\) には、残余ブランチごとに、最後のバッチ正規化レイヤーをゼロ初期化するかどうかを指定します。 選択した場合、残余ブランチはゼロで始まり、それぞれの残余ブロックは識別子のように動作します。 このことは、 https://arxiv.org/abs/1706.02677 によると、大きなバッチ サイズでの収束に役立ちます。

  5. ResNet コンポーネント、トレーニングおよび検証イメージ データセット コンポーネントの出力を、Train PyTorch モデルに接続します。

  6. パイプラインを送信します。

結果

パイプラインの実行が完了した後、モデルをスコア付けに使用するには、PyTorch モデルのトレーニング画像モデルのスコア付けに接続し、新しい入力例の値を予測します。

テクニカル ノート

コンポーネントのパラメーター

名前 範囲 タイプ 既定値 説明
モデル名 [任意] モード resnext101_32x8d 特定の ResNet 構造体の名前
Pretrained (事前トレーニング済み) [任意] ボーリアン 正しい ImageNet で事前トレーニング済みモデルを使用するかどうか
Zero init residual (残余のゼロ初期化) [任意] ボーリアン いいえ 残余ブランチごとに、最後のバッチ正規化レイヤーをゼロ初期化するかどうか

出力

名前 タイプ 説明
未トレーニング モデル UntrainedModelDirectory PyTorch モデルのトレーニングに接続できるトレーニングされていない ResNet モデル。

次のステップ

Azure Machine Learning で使用できる一連のコンポーネントを参照してください。