Библиотека PyTorch: способы установки в Python
Установка PyTorch в среде Python
Наиболее эффективным и распространённым способом установки PyTorch является использование пакетного менеджера pip с указанием индекса, соответствующего вашей аппаратной платформе. Этот метод гарантирует получение предварительно скомпилированного дистрибутива, оптимизированного под конкретную версию CUDA (если используется GPU NVIDIA) или под CPU.
Команда для установки последней стабильной версии с поддержкой CUDA 11.8:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118Python torch install (установка pytorch в python)
Для установки без поддержки GPU (только CPU):
pip install torch torchvision torchaudio
После завершения установки рекомендуется проверить работоспособность в интерпретаторе Python:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
2.5.1+cu118 True
Если torch.cuda.is_available() возвращает False, это указывает на отсутствие драйверов NVIDIA или несовместимость версии CUDA. Рекомендуется проверить драйверы командой nvidia-smi и при необходимости изменить индекс на соответствующий вашей версии CUDA (например, cu124 для CUDA 12.4).
Типичная ошибка: ERROR: Could not find a version that satisfies the requirement torch – возникает при неверном индексе или устаревшем pip. Решение: обновить pip (pip install --upgrade pip) и проверить правильность URL.
Как установить PyTorch с помощью менеджера пакетов conda?
Conda – удобный инструмент управления окружениями, особенно если используется дистрибутив Anaconda. Для установки PyTorch с conda выполните:
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch
Параметр cudatoolkit можно опустить, если не требуется конкретная версия CUDA. Этот способ автоматически разрешает зависимости и подходит для новичков.
Проблема: конфликт версий с уже установленными пакетами. Решение: создать новое окружение conda create -n pytorch_env python=3.10 и повторить установку.
Как установить PyTorch на Mac с чипом Apple Silicon?
На устройствах с процессорами M1/M2/M3 используется архитектура ARM. PyTorch поддерживает ускорение через Metal Performance Shaders (MPS). Рекомендуется установка CPU-версии:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
Для проверки доступности MPS:
import torch
print(torch.backends.mps.is_available())
True
Ошибка: AttributeError: module 'torch.backends' has no attribute 'mps' при старой версии PyTorch. Решение: обновить до версии 1.12 или выше.
Как собрать PyTorch из исходного кода?
Сборка из исходников позволяет получить самую свежую версию и оптимизировать её под конкретную систему. Вариант для разработчиков, которым нужна кастомизация.
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
pip install -r requirements.txt
python setup.py install
Перед сборкой необходимо установить CUDA Toolkit, cuDNN, компилятор C++.
Типичная ошибка: error: 'cstdint' file not found – не хватает компилятора. Решение: установить build-essential (Linux) или Visual Studio (Windows).
Как использовать PyTorch в контейнере Docker?
Официальные образы PyTorch на Docker Hub упрощают развёртывание в изолированной среде. Пример команды для запуска с GPU:
docker run --gpus all -it --rm pytorch/pytorch:latest bash
Внутри контейнера PyTorch уже установлен. Образы доступны для разных версий CUDA и CPU.
Проблема: контейнер не видит GPU. Решение: установить NVIDIA Container Toolkit и добавить флаг --gpus all.
Как установить PyTorch с поддержкой AMD ROCm?
Для видеокарт AMD можно использовать версию PyTorch, скомпилированную с библиотекой ROCm. Установка из экспериментальных сборок:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6
Необходимо предварительно установить драйверы AMD ROCm.
Ошибка: hipErrorNoBinaryForGPU – несовместимость версии ROCm с моделью GPU. Решение: выбрать индекс, соответствующий вашей карте.
Как установить конкретную версию PyTorch?
Иногда требуется фиксированная версия для совместимости с проектом. Установка возможна через pip с указанием номера версии:
pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1
Аналогично для conda:
conda install pytorch=1.13.1 torchvision=0.14.1 torchaudio=0.13.1 cudatoolkit=11.6 -c pytorch
Проблема: конфликт зависимостей с другими пакетами. Решение: использовать виртуальное окружение или pip install --no-deps с ручной установкой зависимостей.
Расширенные примеры установки PyTorch
Установка с поддержкой CUDA 12.1 через прямой URL
Скачивание колеса (wheel) напрямую с сервера PyTorch и его установка:
wget https://download.pytorch.org/whl/cu121/torch-2.5.0%2Bcu121-cp310-cp310-linux_x86_64.whl
pip install torch-2.5.0+cu121-cp310-cp310-linux_x86_64.whl
pip install torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Этот метод полезен при медленном соединении или необходимости установки на offline-системы.
Successfully installed torch-2.5.0+cu121
Использование Poetry для управления зависимостями
Добавление PyTorch в проект Poetry:
poetry add torch@^2.0.0 --source=https://download.pytorch.org/whl/cu118
poetry add torchvision torchaudio --source=https://download.pytorch.org/whl/cu118
После выполнения poetry install библиотеки будут установлены в изолированное окружение.
Установка в Google Colab с выбором версии
В среде Colab по умолчанию установлен PyTorch, но можно переустановить другую версию:
!pip install torch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 --index-url https://download.pytorch.org/whl/cu118
import torch
print(torch.__version__)
2.0.0+cu118
Обратите внимание: Colab использует временный диск, поэтому при отключении сессии установка будет потеряна.
Сборка с дополнительными оптимизациями (Intel MKL)
Для ускорения на процессорах Intel можно включить поддержку MKL:
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
MAX_JOBS=4 python setup.py install --blas=mkl
Флаг MAX_JOBS ограничивает количество потоков компиляции. После успешной сборки PyTorch будет использовать библиотеки Intel MKL.
(пример вывода при компиляции: "Building wheel for torch... done")
Проверка доступных устройств и использование MPS на Mac
Полный скрипт для определения поддерживаемых ускорителей:
import torch
print("PyTorch version:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())
print("MPS available:", torch.backends.mps.is_available())
print("Number of GPUs:", torch.cuda.device_count())
if torch.cuda.is_available():
print("GPU name:", torch.cuda.get_device_name(0))
PyTorch version: 2.5.1 CUDA available: False MPS available: True Number of GPUs: 0
Пример использования MPS для перемножения матриц:
device = torch.device('mps')
x = torch.randn(1000, 1000, device=device)
y = torch.randn(1000, 1000, device=device)
z = x @ y
print(z.shape, z.device)
torch.Size([1000, 1000]) mps:0