14

Установка и запуск нейронной сети на ПК с видеокартой AMD

По состоянию статистики Steam на конец января 2023 года, видеокарты компании AMD являются аутсайдерами на рынке графических ускорителей. И всё больше производителей профессионального ПО и игр предпочитают в первую очередь оптимизировать свои продукты под графические решения от компании Nvidia. Такое положение дел не обошло стороной и нейронные сети. В этой небольшой инструкции вы узнаете, как назло общепринятым стандартам, заставить нейронную сеть Stable Diffusion (генерация картинок по любому текстовому запросу) работать c видеокартами AMD.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Установка сети

В настоящее время существует примерно три реализации Stable Diffusion, которые со скрипом, но способны использовать GPU AMD для ускорения обработки задач. Однако все они привязаны к новейшей архитектуре RDNA или работают только под Linux, что автоматом отсеивает большинство красных пользователей, которые не хотят разоряться на покупке новой видеокарты или устанавливать непривычную ОС из-за желания испытать нейронную сеть. Обойдём эти ограничения, заставив нейронную сеть Stable Diffusion работать на Windows 10/11 c любым относительно современным GPU AMD!

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Минимальный системные требования:

ОС: Windows 10/11/Linux 64 Бит.

RAM: 8+ Гб.

CPU: 2/4+ ядра 3.0+ ГГц.

GPU: AMD (Возможна работа силами CPU).

1. Скачиваем и устанавливаем необходимые компоненты:

64-bit Git for Windows Setup.

Python 3.10.6.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Git for Windows Setup

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Python

2. Загружаем архив с нейронной сетью.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Нейронная сеть

3. Распаковываем нейронную сеть в корень любого носителя.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Расположение сети на носителе

4. Скачиваем архивы с модифицированными файлами для работы нейронной сети с видеокартами AMD.

Архивы:

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Модифицированный k-diffusion

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Модифицированный stablediffusion

5. Переходим в папку C:\stable-diffusion-webui-directml\repositories и распаковываем все файлы архива k-diffusion-directml-master.zip (Не его папку, а файлы, что внутри неё) в папку k-diffusion. Аналогично поступаем с архивом stablediffusion-directml-main.zip, но его файлы уже распаковываем в папку stable-diffusion-stability-ai.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Правильный вид файлов

6. Теперь нам необходимо в файл запуска нейронной сети webui-user.bat добавить команды для обхода проверки отсутствующих ядер CUDA и общей оптимизации. Подробнее о параметрах запуска вы всегда можете почитать тут.

@Echo off

set PYTHON= set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS= --lowvram --disable-nan-check --autolaunch --opt-split-attention
set GIT_SSL_NO_VERIFY=true

call webui.bat

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Настройки запуска

7. Скачиваем обученные модели, чтобы наша нейронная сеть понимала, кого и что ей рисовать. Я остановил свой выбор на NeverEnding Dream.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Выбор модели

Переносим файл обученной модели в:

C:\stable-diffusion-webui-directml\models\Stable-diffusion

8. Теперь необходимо скачать файл конфигурации VAE для нормализации конечного изображения и перенести его в:

C:\stable-diffusion-webui-directml\models\VAE

9. Выполняем запуск нейронной сети через файл webui-user.bat в папке C:\stable-diffusion-webui-directm и дожидаемся загрузки и установки всех необходимых компонентов. Если всё прошло успешно, то вас автоматически перенесёт на страницу панели управления нейронной сетью в вашем браузере.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Адрес панели управления

10. Переходим в Setting и в разделе Stable Diffusion выбираем наш VAE. Теперь нам необходимо выбрать алгоритм восстановление лица, который не зависит от наличия CUDA или тензорных ядер Nvidia. Переходим в раздел Face Restoration, выбираем алгоритм GFPGAN. Применяем настройки.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

VAE

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

GFPGAN

11. Возвращаемся во вкладку txt2img, где для проверки работы ускорения нейронной сети на GPU AMD вводим любой желаемый запрос. По нагрузке на GPU и CPU в диспетчере задач проверяем результат.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост

Мониторинг

Фанфары, гром и молния! Всё работает.

Результат (RX 550)

Конечный результат получился немного пошлый, но зато сразу после удалось создать красивого рыцаря.

Установка и запуск нейронной сети на ПК с видеокартой AMD Windows, Нейронные сети, Генерация, Арт, AMD, Длиннопост
  • Запрос: Knight girl with red hair (Девушка рыцарь с красными волосами).

  • Модель: NeverEnding Dream.

  • Количество проходов: 40 (GPU).

  • Сэмплер: PLMS.

  • Фильтры и стили: нет.

  • Исправление лица: активно.

Заключение

Несмотря на то что способ является лютыми костылями и проигрывает по качеству реализации генерации готового изображения видеокартам Nvidia, он всё же позволяет намного быстрее создавать готовые шедевры, чем классическое задействование возможностей CPU. Создавайте, делитесь своими творения и никогда не позволяйте компаниям диктовать свои условия.

ПС. Инструкция для видеокарт Nvidia.
Если вам понравился материал, то, пожалуйста, посетите блог автора --->ТЫК.

Оригинал