DenseNet

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

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

Note

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

モデルとラベル付きイメージ ディレクトリを PyTorch モデルのトレーニングへの入力として提供することにより、モデルをトレーニングすることができます。 その後は、トレーニングされたモデルで画像モデルのスコア付けを使用して、新しい入力例の値を予測することができます。

DenseNet の詳細

DenseNet の詳細については、「Densely Connected Convolutional Networks」 (高密度に接続された畳み込みネットワーク) という研究論文を参照してください。

DenseNet の構成方法

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

  2. Model name (モデル名) には、特定の DenseNet 構造の名前を指定します。これは、サポートされている DenseNet である 'densenet121'、'densenet161'、'densenet169'、'densenet201' から選択できます。

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

  4. Memory efficient (メモリ効率) には、チェックポイント処理を使用するかどうかを指定します。これは、メモリ効率が大幅に向上しますが、時間がかかります。 詳細については、「Memory-Efficient Implementation of DenseNets」 (DenseNets の高メモリ効率の実装) という研究論文を参照してください。

  5. トレーニングと検証のイメージ データセット コンポーネントである DenseNet コンポーネントの出力を Pytorch モデルのトレーニングに接続します。

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

結果

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

テクニカル ノート

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

名前 Range Type Default 説明
モデル名 Any モード densenet201 特定の DenseNet 構造体の名前
Pretrained (事前トレーニング済み) Any Boolean True ImageNet で事前トレーニング済みモデルを使用するかどうか
Memory efficient (メモリ効率) Any Boolean False メモリ効率が大幅に向上するが、時間がかかるチェックポイント処理を使用するかどうか

出力

名前 Type 説明
未トレーニング モデル UntrainedModelDirectory Pytorch モデルのトレーニングに接続できる未トレーニングの DenseNet モデル。

次のステップ

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