ResNet, AlexNet, VGG を,ILSVRC 2012 データセットを用いて学習(PyTorch のサンプルプログラムを使用)

ユースケース: ImageNet データセットを用いて PyTorch での学習を行いたい

次のWebページに記載の手順による.

関連する外部ページhttps://github.com/pytorch/examples/tree/master/imagenet

先人に感謝

PyTorch の Web ページ: http://pytorch.org

GitHub の PyTorch の Webページ: https://github.com/pytorch/pytorch

前準備

PyTorch 2.3 (NVIDIA CUDA ツールキット11.8 用)のインストール(Windows 上)

次のコマンドを実行することにより, PyTorch 2.3 (NVIDIA CUDA ツールキット 11.8 用)がインストールされる.

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
  2. PyTorch の公式ページを確認

    PyTorch の公式ページ: https://pytorch.org/index.html

  3. 次のようなコマンドを実行(実行するコマンドは,PyTorch のページの表示されるコマンドを使う).

    次のコマンドを実行することにより, PyTorch 2.3 (NVIDIA CUDA 11.8 用)がインストールされる. 但し,Anaconda3を使いたい場合には別手順になる.

    事前に NVIDIA CUDA のバージョンを確認しておくこと(ここでは,NVIDIA CUDA ツールキット 11.8 が前もってインストール済みであるとする).

    PyTorch で,GPU が動作している場合には,「torch.cuda.is_available()」により,True が表示される.

    python -m pip install -U --ignore-installed pip
    python -m pip uninstall -y torch torchvision torchaudio torchtext xformers
    python -m pip install -U torch torchvision torchaudio numpy --index-url https://download.pytorch.org/whl/cu118
    
    python -c "import torch; print(torch.__version__, torch.cuda.is_available())" 
    

関連する外部ページ

サイト内の関連ページ

関連項目NVIDIA CUDA ツールキット, PyTorch

ILSVRC 2012 データセットのダウンロード

ILSVRC 2012 データセット (http://image-net.org/challenges/LSVRC/2012/index#data)

validation data と test data

ImageNet training data

ここでの Blender の設定

ダウンロード手順

https://github.com/pytorch/examples/tree/master/imagenet の記述による.

  1. 利用条件の確認

    必ず,次のページなどで,利用条件を確認すること.利用条件に反するような利用をしてはいけないのは当然である.

  2. ダウンロードと展開
  3. ILSVRC 2012 データセットの validation data を,ラベルの付いたサブディレクトリに移動

    次のコマンドを実行.

    cd /tmp
    rm -f valprep.sh
    wget https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh
    sudo mkdir /usr/local/ilsvrc2012
    cd /usr/local/ilsvrc2012
    sudo bash /tmp/valprep.sh
    

単純な CNN を用いた画像分類(PyTorch のサンプルプログラムを使用)

  • Python プログラムの実行

    Python プログラムの実行

    Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.

    Python のまとめ: 別ページ »にまとめ

    python
    

    PyTorch の ImageNet プログラムの準備

    ここでの設定

    • PyTorch の example をダウンロードするディレクトリ: /usr/local/pytools/pytorch/examples
    • PyTorch の「ImageNet」プログラムの準備

      (https://github.com/pytorch/examples/tree/master/imagenet)を準備する.

    1. ダウンロード
    2. 前提パッケージのインストール
      pip3 install -r requirements.txt
      
    3. ResNet, AlexNet, VGG を,ImageNet データセットを用いて学習
      alexnet, densenet121, densenet161, densenet169, densenet201, resnet101, resnet152, resnet18, resnet34, resnet50, squeezenet1_0, squeezenet1_1, vgg11, vgg11_bn, vgg13, vgg13_bn, vgg16, vgg16_bn, vgg19, vgg19_bn (default: resnet18)
      
    4. このうち resnet18, alexnet, vgg19 を試してみる

      AlexNet, VGG では,initial learning rate は 0.01 がよいとされている (https://github.com/pytorch/examples/tree/master/imagenet の記述による.)

      python main.py -a resnet18 [imagenet-folder with train and val folders]
      python main.py -a alexnet --lr 0.01 [imagenet-folder with train and val folders]
      python main.py -a vgg19  --lr 0.01 [imagenet-folder with train and val folders]