Как установить Stable Diffusion на видеокарту AMD

Установка Stable Diffusion на видеокарту AMD упирается в одну ключевую особенность: популярный веб-интерфейс Automatic1111 изначально рассчитан на CUDA от NVIDIA, поэтому на Radeon его стандартная установка либо падает с ошибкой, либо уходит в медленный режим процессора. Проверить это просто: если после запуска webui-user.bat генерация одного изображения занимает несколько минут, а в диспетчере задач загружена только CPU — видеокарта не задействована, и требуется отдельная настройка.

Хорошая новость в том, что рабочие способы существуют. Для Windows используют сборки с DirectML, для Linux — ROCm, а также есть альтернативные интерфейсы вроде ComfyUI и Stable Diffusion WebUI Forge с собственными вариантами поддержки AMD. Ниже разберём каждый путь с конкретными шагами и типичными ошибками.

Что нужно проверить перед установкой

Прежде чем скачивать файлы, убедитесь, что система соответствует минимальным требованиям. Объём видеопамяти — главный ограничивающий фактор: для комфортной работы желательно 8 ГБ VRAM и больше, хотя с оптимизациями возможен запуск и на 4–6 ГБ с уменьшенным разрешением генерации.

  • 🎮 Видеокарта AMD Radeon с актуальными драйверами Adrenalin (обновите их до последней версии с официального сайта AMD)
  • 🐍 Установленный Python 3.10.x — именно эта ветка требуется большинству сборок; проверьте командой python --version
  • 📦 Git для клонирования репозиториев
  • 💾 Не менее 20–30 ГБ свободного места на диске под модели и зависимости
  • 🧠 Желательно 16 ГБ оперативной памяти и более
⚠️ Внимание: если Python уже установлен, но версии 3.11 или 3.12, часть зависимостей может не собраться. Проверьте требования конкретной сборки — многие по-прежнему ориентированы на Python 3.10, и проще поставить нужную версию рядом, чем разбирать конфликты пакетов.

Способ 1: Automatic1111 с DirectML (Windows)

Наиболее доступный вариант для Windows — форк Stable Diffusion WebUI DirectML, который задействует GPU через интерфейс DirectML вместо CUDA. Он работает медленнее, чем CUDA-версия на сопоставимых картах NVIDIA, но позволяет полноценно генерировать изображения на Radeon без Linux.

Порядок действий следующий. Сначала клонируйте репозиторий форка:

git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git

Затем перейдите в папку и запустите webui-user.bat — при первом старте скрипт сам скачает зависимости, включая torch-directml. Процесс может занять продолжительное время, прерывать его не нужно. После завершения в консоли появится локальный адрес вида http://127.0.0.1:7860 — откройте его в браузере.

☑️ Установка WebUI DirectML

Выполнено: 0 / 5

Первую модель (checkpoint) в формате .safetensors поместите в папку models/Stable-diffusion. Без неё интерфейс запустится, но генерировать будет нечем.

Способ 2: ONNX и Olive-оптимизации

Альтернативный путь — конвертация модели в формат ONNX и запуск через ONNX Runtime с провайдером DirectML. Этот подход сложнее в настройке и требует конвертации каждой модели, но в ряде конфигураций даёт более стабильную производительность на картах RDNA-архитектуры.

Для пользователей без опыта работы с командной строкой этот вариант вряд ли подойдёт в качестве первого: конвертация выполняется скриптами, а параметры зависят от конкретной модели. Если ваша цель — просто генерировать изображения, начните с DirectML-форка Automatic1111 или готовых сборок.

📊 Какой способ запуска Stable Diffusion на AMD вы используете?
DirectML-форк Automatic1111
ROCm на Linux
ComfyUI
Готовая сборка с установщиком

Способ 3: ROCm на Linux

Максимальную производительность на AMD даёт связка ROCm + PyTorch под Linux — чаще всего используют Ubuntu LTS. Важный нюанс: официальная поддержка ROCm ограничена определёнными моделями видеокарт, поэтому перед установкой сверьтесь со списком совместимости на сайте AMD. Для неподдерживаемых карт иногда применяют переменную окружения HSA_OVERRIDE_GFX_VERSION, но это неофициальный обходной приём, и стабильность не гарантируется.

Общая последовательность выглядит так:

  • 🐧 Установите свежие драйверы и пакеты ROCm по официальной инструкции AMD для вашей версии дистрибутива
  • 🔥 Поставьте PyTorch сборки для ROCm (колесо torch с суффиксом rocm)
  • 📥 Склонируйте Automatic1111 или ComfyUI и запустите стандартным скриптом — CUDA-флаги не нужны
  • ✅ Проверьте, что GPU определяется: в консоли не должно быть ошибок вида HIP error или перехода на CPU
Проверка, что PyTorch видит GPU под ROCm

Откройте Python в терминале и выполните: import torch; print(torch.cuda.is_available()). В ROCm-сборках PyTorch видеокарта AMD отображается через CUDA-совместимый интерфейс, поэтому ответ True — признак корректной установки. Если False — проверьте, что установлена именно ROCm-версия torch, а не CPU-сборка.

Сравнение способов запуска

Выбор метода зависит от вашей ОС, модели карты и готовности настраивать систему вручную.

СпособОССложностьСкорость
WebUI DirectML (форк)WindowsНизкаяСредняя
ONNX Runtime + DirectMLWindowsВысокаяСредняя
ROCm + PyTorchLinuxВысокаяВысокая
Готовые сборки (Forge, ComfyUI)Windows/LinuxНизкаяЗависит от бэкенда

Типичные ошибки и их решение

Чаще всего пользователи сталкиваются с тремя проблемами. Первая — генерация идёт на процессоре: признак — низкая загрузка GPU и минуты ожидания на одну картинку. Причина обычно в том, что установлена обычная CPU-версия PyTorch вместо DirectML или ROCm-сборки. Решение — переустановить torch по инструкции конкретного форка.

Вторая — ошибка нехватки видеопамяти (out of memory). Здесь помогают флаги запуска, которые нужно дописать в webui-user.bat в строку COMMANDLINE_ARGS:

set COMMANDLINE_ARGS=--medvram --opt-split-attention

Для карт с очень малым объёмом VRAM вместо --medvram используют --lowvram, но скорость заметно падает. Третья частая ситуация — чёрные изображения на выходе: это известная проблема частичной точности на некоторых GPU, лечится флагами --no-half и --precision full, ценой увеличения потребления памяти.

⚠️ Внимание: не копируйте все найденные в сети флаги запуска скопом. Каждый параметр меняет поведение и потребление ресурсов, а их сочетания могут конфликтовать. Добавляйте флаги по одному и проверяйте результат — так вы поймёте, какой именно параметр решил проблему.

Оптимизация скорости генерации

После успешного запуска имеет смысл ускорить работу. Начните с разрешения: генерация 512×512 требует заметно меньше ресурсов, чем 768×768 и выше. Уменьшите количество шагов сэмплера до разумного диапазона — сверх 30–40 шагов прирост качества часто незаметен, а время растёт линейно.

Также проверьте, не работают ли параллельно тяжёлые приложения, занимающие видеопамять: браузер с десятками вкладок, игры, видеоредакторы. На картах с 8 ГБ VRAM это может быть критично.

Альтернативы: ComfyUI и готовые сборки

Если Automatic1111 на AMD работает нестабильно, попробуйте ComfyUI — узловой интерфейс, который сообществом активно адаптируется под разные бэкенды, включая DirectML и ROCm. У него выше порог входа из-за непривычной логики нод, но он экономнее расходует память.

Существуют и готовые портативные сборки с установщиком, где зависимости уже настроены. Их плюс — минимум ручных действий; минус — вы зависите от темпов обновления конкретной сборки и не всегда видите, что именно в ней изменено. Скачивайте такие пакеты только из источников, которым доверяете.

⚠️ Внимание: файлы моделей и готовые сборки распространяются через сторонние ресурсы, и среди них встречаются вредоносные. Предпочитайте формат .safetensors вместо .ckpt — последний технически может содержать исполняемый код.

Часто задаваемые вопросы

Запустится ли Stable Diffusion на встроенной графике AMD?

Технически запуск через DirectML возможен, но встроенная графика делит память с ОЗУ и имеет низкую производительность — генерация будет очень медленной. Для практического использования нужна дискретная видеокарта.

Почему в консоли ошибка «Torch is not able to use GPU»?

Это означает, что установлена CPU-сборка PyTorch. Удалите текущий torch и поставьте версию для вашего бэкенда: torch-directml для Windows или ROCm-сборку для Linux, следуя инструкции конкретного форка.

Можно ли использовать Automatic1111 на AMD без форка?

Оригинальный репозиторий ориентирован на CUDA. На AMD без DirectML-форка или ROCm-окружения он либо не запустится, либо будет работать на процессоре. Используйте адаптированные версии.

Что делать, если генерация выдаёт чёрный квадрат?

Добавьте в параметры запуска --no-half --precision full. Это отключает вычисления в половинной точности, которые на части конфигураций AMD дают некорректный результат. Учтите, что потребление видеопамяти вырастет.

Нужно ли отключать интегрированную графику в BIOS?

Обычно нет. Проблемы возникают редко, но если система упорно использует не тот GPU, проверьте настройки графики в Windows и при необходимости назначьте дискретную карту для python.exe.