このレポは、Pytorch 1.7、Torchvision 0.8、Matplotlib 3.3、およびScikit-Learn0.24を使用した画像分類をカバーするチュートリアルが含まれています。
まず、多層パーセプトロン(MLP)を実装し、畳み込みニューラルネットワーク(CNNS)を使用してアーキテクチャに進みます。具体的には、LENET、ALEXNET、VGG、ResNetを実装します。
説明のいずれかに間違いを見つけたり、同意しない場合は、問題を提出することをためらわないでください。ポジティブまたはネガティブのフィードバックを歓迎します!
Pytorchをインストールするには、Pytorch Webサイトのインストール手順を参照してください。
Pytorchをインストールするための指示には、TorchVisionのインストール方法についても詳しく説明する必要がありますが、以下をインストールすることもできます。
pip install torchvision1-多層パーセプトロン
このチュートリアルでは、PytorchとTorchvisionの紹介を提供します。データセットの読み込み、データの拡張、多層パーセプトロン(MLP)の定義、モデルのトレーニング、モデルの出力の表示、モデルの表現の視覚化、モデルの重みを表示する方法を学びます。実験は、MNISTデータセット(28x28の手書きグレースケール桁のセット)で実行されます。
2-レネット
このチュートリアルでは、古典的なレネットアーキテクチャを実装します。畳み込みニューラルネットワークと、畳み込み層とサブサンプリング(別名プーリング)層がどのように機能するかを検討します。
3-アレックスネット
このチュートリアルでは、深い学習への現在の関心を開始するのに役立つ畳み込みニューラルネットワークアーキテクチャであるAlexNetを実装します。 10クラスでCIFAR10データセット-32x32カラー画像に移動します。 nn.Sequentialを使用してアーキテクチャを定義する方法、ニューラルネットワークのパラメーターを初期化する方法、学習率ファインダーを使用して適切な初期学習率を決定する方法を示します。
4 -VGG
このチュートリアルでは、VGGモデルの実装について説明します。ただし、モデルをゼロからトレーニングする代わりに、Imagenetデータセットで事前に訓練されたVGGモデルをロードし、識別微調整と呼ばれる手法を使用して、CIFAR10データセットに重みを適応させるための転送学習を実行する方法を示します。また、適応型プーリング層とバッチの正規化がどのように機能するかについても説明します。
5- resnet
このチュートリアルでは、ResNetモデルを実装します。 CUB200データセットを例として使用して、独自のデータセットをロードする方法と、トレーニング中にモデルの学習レートを動的に変更する学習レートスケジューラーを使用する方法を示します。特に、このペーパーで導入された1つのサイクルポリシーを使用し、現在、コンピュータービジョンモデルのトレーニングに一般的に使用され始めています。
これらのチュートリアルを作成している間、私が見たものをいくつか紹介します。その一部は古くなっている可能性があります。