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

概要

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

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

目次

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

先人に感謝

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

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

第1章 前準備

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

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

  1. 管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
  2. PyTorch の公式ページを確認

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

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

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

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

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

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

関連する外部ページ

サイト内の関連ページ

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

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

ILSVRC 2012 データセット (https://image-net.org/challenges/LSVRC/2012/2012-downloads.php)

validation data と test data

ImageNet training data

ここでの設定

ダウンロード手順

https://github.com/pytorch/examples/tree/main/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
    

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

Python プログラムの実行

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

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

python

第4章 PyTorch の ImageNet プログラムの準備

ここでの設定
  1. ダウンロード
  2. 前提パッケージのインストール
    pip3 install -U --no-user -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/main/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]