Установка 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
Первую модель (checkpoint) в формате .safetensors поместите в папку models/Stable-diffusion. Без неё интерфейс запустится, но генерировать будет нечем.
Способ 2: ONNX и Olive-оптимизации
Альтернативный путь — конвертация модели в формат ONNX и запуск через ONNX Runtime с провайдером DirectML. Этот подход сложнее в настройке и требует конвертации каждой модели, но в ряде конфигураций даёт более стабильную производительность на картах RDNA-архитектуры.
Для пользователей без опыта работы с командной строкой этот вариант вряд ли подойдёт в качестве первого: конвертация выполняется скриптами, а параметры зависят от конкретной модели. Если ваша цель — просто генерировать изображения, начните с DirectML-форка Automatic1111 или готовых сборок.
Способ 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 + DirectML | Windows | Высокая | Средняя |
| ROCm + PyTorch | Linux | Высокая | Высокая |
| Готовые сборки (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.