はじめに
CUDA対応版のPyTorchは、機械学習やディープラーニングにおいてGPUを活用し、高速な処理を可能にする重要なツールである。
本記事では、CUDA v11.8に対応したPyTorchをインストールする手順について、pip
とPoetry
の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
でインストールする方法
手順
PyTorch公式サイトにアクセス
- PyTorch公式サイトにアクセスし、「Get Started」ページで環境に適したインストールオプションを選択する。
インストールオプションの指定
- 「PyTorch Build」から最新の安定版を選択。
- 「Your OS」に自身のオペレーティングシステムを選ぶ(Windows or Linux or macOS)。
- 「Package」には
pip
を選択。 - 「Compute Platform」で
CUDA v11.8
を選択。
これによりCUDA v11.8対応のPyTorchをインストールできる。
- インストールコマンドの生成と実行
- 指定後、画面下部に表示される「Run this Command」セクションのインストールコマンドをコピーし、ターミナルで実行する。
pip install torch==2.2.1+cu118 -f https://download.pytorch.org/whl/cu118
pip
によるインストールの利点と注意点
- 利点:
pip
は手軽で迅速にインストールが可能。
シンプルなワンライナーで依存関係を含むインストールが完了する。 - 注意点: プロジェクト全体の依存関係管理や仮想環境の作成は
pip
自体には含まれないため、別途venv
やvirtualenv
が必要になる場合がある。
PyTorchをPoetryでインストールする方法
Poetryではpyproject.toml
ファイルを利用して依存関係を管理し、pip
よりも整理された方法でインストールが行える。
手順
- 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
)
- PyTorch公式サイトの「Get Started」ページで環境に適したオプションを選び、CUDA v11.8対応のPyTorchを指定。
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"}
- インストールの実行
- 以下のコマンドでPyTorchをインストール。
poetry install
Poetryによるインストールの利点と注意点
利点:
pyproject.toml
に依存関係が記述されるため、パッケージやバージョンの管理がしやすい。
プロジェクトごとに仮想環境が自動作成され、環境を整理しやすい。注意点: ホイールファイルのURLを直接指定する手間がかかる。
Poetryのpyproject.toml
にすべての依存関係が記述されるため、複雑な依存関係が発生する大規模プロジェクトではインストール時間が長くなる場合がある。
まとめ
pip
とPoetryには、それぞれ異なる利点がある。
シンプルで迅速なインストールを求める場合はpip
が適しており、依存関係の管理や環境の整備を重視する場合はPoetryが有用である。
プロジェクトの規模や要件に応じて、最適な方法を選択すると良い。
以下がpip
とPoetry
の特徴の一覧である。
特徴 | pip |
Poetry |
---|---|---|
インストール手順 | コマンドがシンプルで、素早くインストールが可能 | pyproject.toml に依存関係を記述し、一元管理が可能 |
依存関係の管理 | 自動管理はなく、手動でrequirements.txt などを利用して管理 |
pyproject.toml で依存関係を自動管理 |
仮想環境 | 仮想環境作成には別途venv やvirtualenv が必要 |
プロジェクトごとに仮想環境が自動作成され、環境の分離が簡単 |
プロジェクト管理 | 小規模なプロジェクトに適しており、迅速なプロトタイピングに有用 | 複数の依存関係を含む大規模プロジェクトの管理が容易 |
パッケージのリリース | リリース機能は基本的にないため、別途ツールが必要 | Poetry内でパッケージのビルドやリリース管理が可能 |
柔軟性 | 幅広いライブラリやツールと互換性があり、既存のPythonエコシステムと相性が良い | 依存関係をpyproject.toml で厳密に管理するため、環境が整理されている |
速度 | パッケージ単体のインストール速度が速い | 依存関係解決に時間がかかる場合があるが、管理がしやすく信頼性が高い |