🚀

【環境構築】ONNX-Runtime GPU(local, 仮想環境venv)

2023/11/21に公開

0.この記事は何?

この記事は、Pytorchを使用するための環境設定について解説しています。内容には、仮想環境の作成、CUDAとcuDNNのインストール、Pytorchのインストール、ONNX Runtimeの設定、そしてGPUの認識確認の手順が含まれています。

1. 仮想環境の作成とアクティベーション

# 任意のディレクトリに移動
cd C:\Users\thyt\Pytorch

# 仮想環境を作成
python -m venv pytorchenv

# 仮想環境をアクティベート
pytorchenv\Scripts\activate

# (任意)Visual Studio Code用の ipykernel パッケージをインストール
pip install ipykernel

2. CUDAとcuDNNのインストール

ONNXの構成に従って、CUDA ToolkitとcuDNNをインストールします。

CUDAおよびCuDNNのパス設定に関して、必要に応じて以下の記事を参照

2.5 Pytorchのインストール

ONNXの構成に合うようにCUDAのバージョンを指定しPytorchを仮想環境にインストール

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

以下のコードを入力してCUDAが使用可能かどうかを確認します。

python -c "import torch; print(torch.cuda.is_available())"

3. ONNX Runtimeのインストール

ONNX RuntimeとONNX Runtime GPU版を pip を使ってインストールします。

# ONNXの構成に従いONNX Runtime==1.16のインストール
pip install onnxruntime==1.16

ONNXの構成のページには、ONNX、onnxruntime-gpuについては記載がなかったのでとりあえずpipでインストール
pip install onnx
pip install onnxruntime-gpu

4. GPUの認識の確認

ONNX Runtimeを使ってGPUが認識されているか確認します。

import onnxruntime

# ONNX Runtimeが使用しているデバイス(CPUかGPUか)を表示
print(onnxruntime.get_device())

# 推論に使用するプロバイダーを設定。ここではGPUを使用するためにCUDAExecutionProviderを指定
providers = ["CUDAExecutionProvider"]

# モデルのパスを指定
model_path = "model.onnx"

# 推論セッションを初期化し、CUDAを使用するように設定
session_fp32 = onnxruntime.InferenceSession(model_path, providers=providers)

# 使用しているプロバイダー(この場合はCUDA)を表示
print(session_fp32.get_providers())

5. (任意)Pytorchで使用するパッケージのインストール

pip install timm

6. githubリポジトリ

https://github.com/hayato540101/ML_PipeLine_quantization_models

Discussion