← Все статьи
19 октября 2026 г.·3 мин чтения

AssertionError: Torch not compiled with CUDA enabled — как поставить PyTorch с CUDA

Почему PyTorch не видит видеокарту NVIDIA и падает с Torch not compiled with CUDA enabled в ComfyUI, Stable Diffusion и своих скриптах: pip поставил CPU-сборку. Проверка одной командой, переустановка с нужным index-url (cu126, cu128, cu130), RTX 50, ComfyUI portable, AMD и Mac.

  File "...\torch\cuda\__init__.py", line 310, in _lazy_init
    raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled

Ошибка вылезает при запуске ComfyUI, Stable Diffusion WebUI, Whisper, обучения модели или своего скрипта с .cuda() или device="cuda". Видеокарта и драйвер в порядке. Дело в том, что установлен PyTorch без поддержки CUDA, то есть сборка только для процессора.

Так получается почти всегда из-за обычного pip install torch на Windows: по умолчанию оттуда приезжает CPU-версия. CUDA-сборки для Windows лежат в отдельном индексе PyTorch.

Проверка одной командой

Запусти тем же Python, которым запускается программа:

python -c "import torch; print(torch.__version__, torch.cuda.is_available(), torch.version.cuda)"
Что вывелосьЧто это значит
2.x.x+cpu False NoneCPU-сборка, нужна переустановка
2.x.x+cu128 False 12.8сборка с CUDA, но карту не видит: драйвер или отключённый GPU
2.x.x+cu128 True 12.8всё работает, ошибка была в другом окружении (venv, portable-Python)

Последний случай частый: проверка в одном Python, а программа запускается другим. Узнать, каким именно, можно через python -c "import sys; print(sys.executable)".

Переустановка PyTorch с CUDA

Сначала удали CPU-сборку, потом поставь нужную из индекса PyTorch:

python -m pip uninstall -y torch torchvision torchaudio
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

Какой индекс брать:

ИндексКогда
cu130свежий драйвер NVIDIA (ветка 580 и новее)
cu128безопасный выбор для большинства; для RTX 50-й серии это минимальная подходящая версия
cu126старый драйвер, который не хочется обновлять

Точную команду под свою систему всегда можно собрать на pytorch.org в разделе Get Started: выбираешь Stable, Windows, Pip, Python и версию CUDA. CUDA Toolkit ставить не нужно, всё нужное идёт внутри колеса PyTorch. От системы требуется только драйвер видеокарты.

RTX 5060–5090. Карты Blackwell поддерживаются только сборками с CUDA 12.8 и новее. Со старой cu121 или cu124 они дают либо эту ошибку, либо no kernel image is available for execution on the device.

Новый Python. Колёса PyTorch выходят под новую версию Python с задержкой. Если pip пишет No matching distribution found for torch, поставь Python на одну версию старше.

ComfyUI

ComfyUI portable живёт со своим Python в папке python_embeded. Системный pip его не трогает, поэтому переустанавливать нужно им:

cd ComfyUI_windows_portable
.\python_embeded\python.exe -m pip uninstall -y torch torchvision torchaudio
.\python_embeded\python.exe -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

Запускай через run_nvidia_gpu.bat, а не run_cpu.bat. Частая причина поломки — кастомная нода, которая в своём requirements.txt тянет torch без индекса и при установке через Manager заменяет CUDA-сборку на CPU. Если ошибка появилась после установки ноды, причина в ней.

ComfyUI с ручной установкой — то же самое, только командой Python из venv ComfyUI.

AMD и Mac

AMD. Ошибка про CUDA на Radeon ожидаема: CUDA — технология NVIDIA. Нужна сборка PyTorch под ROCm и программа, которая умеет с ней работать. У ComfyUI есть отдельная portable-версия для AMD. В своём коде проверяй устройство, а не пиши cuda жёстко.

Mac на Apple Silicon. CUDA там нет совсем. Видеоядро доступно через mps:

import torch
device = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu"
model.to(device)

Если ошибку выдаёт чужой скрипт с жёстко прописанным .cuda(), его придётся поправить в этих местах.

Карта видна, но CUDA всё равно False

Сборка +cu128, а torch.cuda.is_available() возвращает False:

  • Драйвер старше, чем нужно сборке. nvidia-smi показывает максимальную поддерживаемую CUDA Version. Она должна быть не ниже версии из индекса.
  • Ноутбук отключил дискретную карту ради экономии. Проверь, видна ли она в nvidia-smi.
  • Переменная CUDA_VISIBLE_DEVICES задана пустой или -1 после какой-то старой инструкции.

Отдать это агенту

Вся починка — это три-четыре команды: понять, какой Python запускает программу, какая сборка стоит и какой индекс подходит к драйверу. Дока сделает это на твоём компьютере: открой папку ComfyUI или проекта и напиши «падает с Torch not compiled with CUDA enabled, почини». Агент проверит torch.__version__ и nvidia-smi, найдёт правильный Python и переустановит сборку, показав каждую команду до запуска.

Если видеокарта нужна для языковых моделей, а не для картинок, похожий разбор есть про Ollama на процессоре вместо GPU. Что выбрать под локальные нейросети, если карту ещё только покупаешь, — в статье про видеокарту для локальных нейросетей.