備忘録
備忘録
学びと解説
学びと解説
Python
Python
Linux
Linux

記事内に商品プロモーションを含む場合があります。

Windows11 CUDA v11.8対応のPyTorchを簡単にインストールする方法

はじめに

CUDA対応版のPyTorchは、機械学習ディープラーニングにおいてGPUを活用し、高速な処理を可能にする重要なツールである。
本記事では、CUDA v11.8に対応したPyTorchをインストールする手順について、pipPoetryの2つの方法を比較しながら解説する。

実施した環境

以下の表に、今回の手順を実施するために必要なツールや環境を記載する。

ツール・ライブラリ バージョン 備考
OS Windows 11 OSごとのインストール手順の差異に留意
Python 3.12.7
Poetry 1.5.1 CUDA v11.8対応のPyTorchをインストールするために使用
CUDA Toolkit 11.8 NVIDIA GPUを使用するために必要なツールキット
PyTorch 2.2.1+cu118 CUDA v11.8対応のバージョン

CUDAのインストール手順は以下の記事を参照。 siro-yamaneko.hatenablog.jp

Pythonの仮想環境を利用し、上記のツールやライブラリのバージョンが正しく設定されていることを確認してからインストールを進める。

PyTorchとは?

PyTorchは、Facebook(現Meta)によって開発されたオープンソースディープラーニングライブラリ。
Pythonベースで柔軟かつ使いやすい構造を持ち、ディープラーニングの研究や実装に広く利用されている。
GPUの活用により高速な計算を実現できる点が大きな特徴である。

pipとは?

pipは、Pythonの公式パッケージ管理ツールであり、Pythonパッケージのインストールやアンインストール、アップデートを簡単に行うことができるツール。
Pythonに標準で付属しており、PyPI(Python Package Index)と呼ばれるリポジトリから公開されているさまざまなライブラリをインストール可能である。

pipコマンドラインからシンプルなコマンドでパッケージのインストールを行え、Pythonユーザーにとって手軽で便利なツールとなっている。

Poetryとは?

Poetryは、Pythonプロジェクトにおけるパッケージ管理と依存関係の管理を行うツール。
従来のpipに比べ、プロジェクトの依存関係を一元管理しやすく、仮想環境の自動作成や依存関係の明確化が可能。
大規模なプロジェクトやライブラリのリリース管理にも対応できる。

PyTorchをpipでインストールする方法

手順

  1. PyTorch公式サイトにアクセス

    • PyTorch公式サイトにアクセスし、「Get Started」ページで環境に適したインストールオプションを選択する。
  2. インストールオプションの指定

これによりCUDA v11.8対応のPyTorchをインストールできる。

  1. インストールコマンドの生成と実行
    • 指定後、画面下部に表示される「Run this Command」セクションのインストールコマンドをコピーし、ターミナルで実行する。
pip install torch==2.2.1+cu118 -f https://download.pytorch.org/whl/cu118

pipによるインストールの利点と注意点

  • 利点: pipは手軽で迅速にインストールが可能。
    シンプルなワンライナーで依存関係を含むインストールが完了する。
  • 注意点: プロジェクト全体の依存関係管理や仮想環境の作成はpip自体には含まれないため、別途venvvirtualenvが必要になる場合がある。

PyTorchをPoetryでインストールする方法

Poetryではpyproject.tomlファイルを利用して依存関係を管理し、pipよりも整理された方法でインストールが行える。

手順

  1. Poetryプロジェクトのセットアップ
    • 新規プロジェクトであれば、以下のコマンドで初期化を行う。
poetry new my_project
cd my_project
  • 既存のプロジェクトにインストールする場合は、プロジェクトディレクトリに移動。

  • ホイールファイルURLの取得

    • PyTorch公式サイトの「Get Started」ページで環境に適したオプションを選び、CUDA v11.8対応のPyTorchを指定。
      インストールコマンドに含まれるホイールファイルのURLを取得する(例: https://download.pytorch.org/whl/cu118/torch-2.2.1+cu118-cp310-cp310-linux_x86_64.whl
  • pyproject.tomlに依存関係を追加

    • pyproject.toml[tool.poetry.dependencies]セクションに取得したホイールファイルのURLを記述。
[tool.poetry.dependencies]
python = "^3.12"
torch = {url = "https://download.pytorch.org/whl/cu118/torch-2.2.1+cu118-cp310-cp310-linux_x86_64.whl"}
  1. インストールの実行
    • 以下のコマンドでPyTorchをインストール。
poetry install

Poetryによるインストールの利点と注意点

  • 利点: pyproject.tomlに依存関係が記述されるため、パッケージやバージョンの管理がしやすい。
    プロジェクトごとに仮想環境が自動作成され、環境を整理しやすい。

  • 注意点: ホイールファイルのURLを直接指定する手間がかかる。
    Poetryのpyproject.tomlにすべての依存関係が記述されるため、複雑な依存関係が発生する大規模プロジェクトではインストール時間が長くなる場合がある。

まとめ

pipとPoetryには、それぞれ異なる利点がある。
シンプルで迅速なインストールを求める場合はpipが適しており、依存関係の管理や環境の整備を重視する場合はPoetryが有用である。
プロジェクトの規模や要件に応じて、最適な方法を選択すると良い。

以下がpipPoetryの特徴の一覧である。

特徴 pip Poetry
インストール手順 コマンドがシンプルで、素早くインストールが可能 pyproject.tomlに依存関係を記述し、一元管理が可能
依存関係の管理 自動管理はなく、手動でrequirements.txtなどを利用して管理 pyproject.tomlで依存関係を自動管理
仮想環境 仮想環境作成には別途venvvirtualenvが必要 プロジェクトごとに仮想環境が自動作成され、環境の分離が簡単
プロジェクト管理 小規模なプロジェクトに適しており、迅速なプロトタイピングに有用 複数の依存関係を含む大規模プロジェクトの管理が容易
パッケージのリリース リリース機能は基本的にないため、別途ツールが必要 Poetry内でパッケージのビルドやリリース管理が可能
柔軟性 幅広いライブラリやツールと互換性があり、既存のPythonエコシステムと相性が良い 依存関係をpyproject.tomlで厳密に管理するため、環境が整理されている
速度 パッケージ単体のインストール速度が速い 依存関係解決に時間がかかる場合があるが、管理がしやすく信頼性が高い