金子邦彦研究室人工知能Windows でのインストールと動作確認(人工知能関係)MMCV のインストールと動作確認(画像表示など)(PyTorch,Python を使用)(Windows 上)

MMCV のインストールと動作確認(画像表示など)(PyTorch,Python を使用)(Windows 上)

MMCV は, OpenMMLab の構成物で,基礎的な機能を提供する.

前準備

Git のインストール(Windows 上)

Windows での Git のインストール: 別ページ »で説明

関連する外部ページ

Git の公式ページ: https://git-scm.com/

Python のインストール(Windows 上)

Windows での Python 3.10,関連パッケージ,Python 開発環境のインストール: 別ページ »で説明

サイト内の関連ページ

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

関連する外部ページ

Python の公式ページ: https://www.python.org/

Build Tools for Visual Studio 2022,NVIDIA ドライバ,NVIDIA CUDA ツールキット,NVIDIA cuDNN のインストール(Windows 上)

Windows での Build Tools for Visual Studio 2022NVIDIA ドライバNVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.6 のインストールと動作確認: 別ページ »で説明

関連する外部ページ

PyTorch のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. PyTorch のページを確認

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

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

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

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

    (途中省略)
    [image]

MMCV のインストール(Windows 上)

インストールの方法は複数ある. ここでは, NVIDIA CUDA ツールキットを使うことも考え, インストールしやすい方法として,ソースコードからビルドしてインストールする方法を案内している.

MMCV のインストール(Windows 上)

MMCV のインストールを行う.

インストールの方法は複数ある. ここでは, NVIDIA CUDA ツールキットを使うことも考え, インストールしやすい方法として,ソースコードからビルドしてインストールする方法を案内している.

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. PyTorch がインストールできていることを確認するために,PyTorch のバージョンを表示
    python -c "import torch; TORCH_VERSION = '.'.join(torch.__version__.split('.')[:2]); print(TORCH_VERSION)"
    

    [image]
  3. PyTorch が NVIDIA CUDA ツールキットを認識できていることを確認するために, PyTorch が認識しているNVIDIA CUDA ツールキット のバージョンを表示

    このとき,実際には 11.8 をインストールしているのに,「cu117」のように古いバージョンが表示されることがある.このような場合は,気にせずに続行する.

    python -c "import torch; CUDA_VERSION = torch.__version__.split('+')[-1]; print(CUDA_VERSION)"
    

    [image]
  4. MMCV 1.6.2 のインストール

    MMTracking が MMCV 1.6.2 に依存している (2022/12). 将来の MMTracking の利用を想定して MMCV 1.6.2 をインストール

    https://mmcv.readthedocs.io/en/latest/get_started/installation.html に記載の手順による

    python -m pip install -U pip
    python -m pip install -U opencv-python
    python -m pip install mmcv-full==1.6.2
    

    [image]
  5. MMCV をインストールできたことの確認

    python -c "from mmcv.ops import get_compiling_cuda_version, get_compiler_version; print(get_compiling_cuda_version()); print(get_compiler_version())"
    

    [image]

MMCV のファイルのダウンロード

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. MMCV のファイルをダウンロードし,使える状態にする

    cd %HOMEPATH%
    rmdir /s /q mmcv
    git clone https://github.com/open-mmlab/mmcv.git
    cd mmcv
    python setup.py build
    

MMCV を用いた画像表示(Windows 上)

Python プログラムは,公式ページ https://mmcv.readthedocs.io/en/latest/understand_mmcv/visualization.html のものを使用.

  1. コマンドプロンプトを実行
  2. 画像ファイルを表示する Python プログラム

    次の Python プログラムを実行する.mmcv を用いた表示を行うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

    下図では,Python プログラムの実行のため,jupyter qtconsole を使用している.

    import os
    import mmcv
    
    os.chdir((os.getenv('HOMEPATH') + '\\' + 'mmcv'))
    mmcv.imshow('tests/data/color.jpg')
    

    [image]
  3. データを画像として表示する Python プログラム

    次の Python プログラムを実行する.mmcv を用いた表示を行うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

    下図では,Python プログラムの実行のため,jupyter qtconsole を使用している.

    import os
    import numpy as np
    import mmcv
    
    os.chdir((os.getenv('HOMEPATH') + '\\' + 'mmcv'))
    img = np.random.rand(100, 100, 3)
    mmcv.imshow(img)
    

    [image]
  4. バウンディング・ボックスを表示する Python プログラム

    次の Python プログラムを実行する.mmcv を用いた表示を行うので,Jupyter QtConsoleJupyter ノートブック (Jupyter Notebook) の利用が便利である.

    下図では,Python プログラムの実行のため,jupyter qtconsole を使用している.

    import os
    import numpy as np
    import mmcv
    
    os.chdir((os.getenv('HOMEPATH') + '\\' + 'mmcv'))
    img = np.random.rand(100, 100, 3)
    bboxes = np.array([[0, 0, 50, 50], [20, 20, 60, 60]])
    mmcv.imshow_bboxes(img, bboxes)
    

    [image]