Использование Stable Diffusion с видеокартами AMD

Данная статья нацелена на самых маленьких любителей AMD, по этому информация изложена максимально просто и не всегда технически верно.

Какие видеокарты подойдут?
Стоит сразу отметить, видеокарты amd могут быть неплохими в играх по цене/производительность, но паршиво работают с нейросетями, по этому не стоит ждать чудес даже от топовых видеокарт с большим количеством памяти.
Что бы совсем не было грустно в плане скорости и размера, вам необходимо иметь 8гб видеопамяти и более
Как минимальный уровень я бы рассматривал RX580 и новее.
Для примера, у меня Vega56 с 8гб памяти, она позволяет генерировать размеры тайлов до 1000х1000 пикселей, стандартные 512х512, Steps: 20, Euler a, генерируется за 15с.
Directml дает практически полный функционал, из недоступного на данный момент я знаю только xformers и расширение ToMe.

Подготовка

Обновите драйвера вашей видеокарты, так же можете немного снизить лимит потребления видеокарты, на скорость генерации это не сильно скажется, а температуры заметно снизятся.
Вам необходимо установить git
Он позволит открывать консоль в нужной папке кликом мыши и скачивать репозитории гитхаба.

Установите Python версии 3.10.x
Обязательно поставьте галочку в строке PATH при установке.

AUTOMATIC1111-directml

Открываете git консоль в папке в которую хотите установить нейросеть, вписываете команду:
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git
После того как все файлы загрузятся, можете закрыть консоль
Блокнотом откройте webui-user.bat, и к строке set COMMANDLINE_ARGS= добавьте аргументы запуска
--medvram --disable-nan-check --autolaunch --theme dark --no-half --no-half-vae --opt-sub-quad-attention
Данные аргументы могут несколько отличатся для различных видеокарт, про это можете прочитать в обсуждении гитхаба
Та же будет не лишним после @echo off добавить данную строку, это позволит автоматом удалять кэш и прочий мусор при запуске
for /d %%i in (tmp\tmp,tmp\pip) do rd /s /q "%%i" & del /q tmp\tmp* & rd /s /q pip\cache
В итоге файл получится примерно такой


Я не помню требует ли автоматик обязательно наличие модели для запуска, по этому советую заранее скачать ее с civitai.com и положить в папку по пути stable-diffusion-webui-directml\models\Stable-diffusion
Запустите webui-user.bat дойным кликом, установка займет некоторое время, по ее окончании откроется вкладка в браузере.

vladmandic-directml

Установка схожа, но имеет особенности
Теперь directml активируется сам при наличии видеокарты amd
Обязательно наличие модели для запуска, добавьте ее заранее или согласитесь с установкой базовой модели 1.5 при установке.
Открываете git консоль в папке в которую хотите установить нейросеть, вписываете команду:
git clone https://github.com/vladmandic/automatic.git
После того как все файлы загрузятся, можете закрыть консоль
Теперь запустите webui.bat
В данной версии часть аргументов были перенесены непосредственно в настройки нейросети, разместите галочки как указано на этих скринах



Теперь в ярлыке нужен обязательный параметр --use-directml
Остальные аргументы проще указать в созданным для webui.bat ярлыке, а нейросеть запускать уже им.

На данный момент для применения настроек нужен перезапуск.
Обсуждение данной версии находится тут

Linux

Я не являюсь активным пользователем linux систем, по этому не могу расписать все шаги установки, тем более что они будут несколько отличатся от разных версий линукса.
Linux позволяет куда более оптимально использовать gpu и видеопамять за счет специального rocm драйвера от amd
Со всеми доступными оптимизациями скорость генерации почти в двое выше чем на directml в виндовс, максимальный размер изображения так же выше, для меня он составил 1600х1600
Не смотря на все преимущества я советую с этим связываться только в том случае если вы уверены что вам это точно нужно, или вы сами являетесь пользователем линукса.
Заранее укажу rocm не работают на виртуальных машинах,WSL или докерах в среде виндовс вам нужна полноценная линукс на отдельном диске в качестве второй операционной системы.
При установке следует ориентироватся на статью автоматика
Так же добавлю ссылки на устаревшие гайды которые так же могут быть полезны
https://rentry.org/sd-nativeisekaitoo
https://rentry.org/sdamd#arch-unofficial-repository

В заключении пожелаю удачи, надуюсь у вас все получится и вы будете радовать тред своими артами.

Edit
Pub: 25 Apr 2023 16:24 UTC
Edit: 21 May 2023 19:46 UTC
Views: 1513