uvでサクッとGPU版Pytorch環境を作成したいとき用の備忘録
執筆時(2025/08/22)のuvのversionは0.8.12
1. 以下のサイトからPytorchのインストールコマンドを確認する
https://pytorch.org/get-started/locally/
https://pytorch.org/get-started/previous-versions/
今回は以下の例を使用する
- torch==2.5.1
- torchvision==0.20.1
- CUDA 12.1
インストールコマンドは以下となる。
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu121
2. pyproject.toml
にPyTorch インデックスを追加する
name
に任意の名前、url
はインストールコマンドの--index-url
の値を指定する。
一般的な依存パッケージではなく、torch、torchvision、その他の PyTorch 関連のパッケージのみにインデックスを使うことが推奨されているため、 explicit = true
とする。
pyproject.toml
[[tool.uv.index]]
name = "pytorch-cu121"
url = "https://download.pytorch.org/whl/cu121"
explicit = true
3. pyproject.toml
を更新し、torchとtorchvisionを目的のインデックスにする
以下のようにtool.uv.sources
をpyproject.toml
に追加する。
pyproject.toml
[tool.uv.sources]
torch = [
{ index = "pytorch-cu121", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
]
torchvision = [
{ index = "pytorch-cu121", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
]
4. pyproject.toml
のproject
のdependencies
にtorchとtorchvisionのバージョンを指定する
今回は、
- torch==2.5.1
- torchvision==0.20.1
のため、以下のように記載する。
pyproject.toml
[project]
name = "project"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"torch==2.5.1",
"torchvision==0.20.1",
]
5. 最終的にpyproject.tomlが以下のようになっていることを確認後、uv sync
を実行する
下記のようになっていることを確認し、uv sync
でpytorchがインストールされる。
pyproject.toml
[project]
name = "workspace"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"torch==2.5.1",
"torchvision==0.20.1",
]
[tool.uv.sources]
torch = [
{ index = "pytorch-cu121", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
]
torchvision = [
{ index = "pytorch-cu121", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
]
[[tool.uv.index]]
name = "pytorch-cu121"
url = "https://download.pytorch.org/whl/cu121"
explicit = true