Article Устанавливаем ComfyUI на Windows и используем Stable Diffusion 3

  • Автор темы Admin

Admin

#1
Администратор
Регистрация
31.12.2019
Сообщения
7,137
Реакции
34
Примерно десять часов назад вышла Stable Diffusion 3 от [unfurl="https://stability.ai"]stability.ai[/unfurl]​

02acda35-75c6-4856-8cde-d4780fbe2b8d.webp


На сегодняшний день это самая продвинутая open-source модель для генерации изображений с 2 миллиардами параметров, которая адекватно функционирует даже на ноутбуках. Её качество генерации изображений на высшем уровне, а понимание текстовых запросов впечатляющее, по сравнению с предыдущими версиями Stable Diffusion.

Поддержка модели уже есть в ComfyUI, для Automatic1111 придётся подождать. Поэтому в этой статье мы убьём одним выстрелом двух зайцев: расскажем, как установить ComfyUI и поставим Stable Diffusion 3..

d2e910ac-bb49-453f-b916-b4f62a7ec53d.webp


Немного про ComfyUI

ComfyUI — это пользовательский интерфейс (UI) для создания изображений с преобразованием текста в изображение с использованием моделей Stable Diffusion. Он предлагает большую гибкость и контроль, чем Automatic1111, что делает его лучшим выбором для опытных пользователей, которым нужен больший контроль над процессом создания изображений.
a227857d-d162-4eb5-8409-dd1d8cebf804.webp

Установка ComfyUI

Переходим на официальный репозиторий GitHub - https://github.com/comfyanonymous/ComfyUI
d47d245f-747c-48e6-8f3b-498a746f29ce.webp
Теперь заходим в раздел Releases, который находится на этой же странице репозитория - https://github.com/comfyanonymous/ComfyUI/releases
b1de1f29-5496-4f03-aaec-3f3ec1ae21ba.webp
Здесь вы найдете единственный релиз с установщиком последней версии и автообновлениями. Нам нужно будет нажать на гиперссылку «Download [tooltip=169]Link[/tooltip] with stable pytorch [tooltip=803]2.3[/tooltip] cu121»
5fbb5d96-7223-4e5f-9325-aa21d5494fdf.webp
Если вы всё правильно сделали, начнётся скачивание архива, в котором будет находиться всё необходимое для работы.
cf8a57b7-3e0b-4398-b448-74cee860b472.webp
По окончании загрузки распаковываем архив в удобное для нас место.
d57adf8b-8b62-419a-b512-4b71c9e25854.webp
e573d3f0-20f5-452c-a92b-2f2653cc9597.webp
После проделанных действий, изображённых выше, начнётся процесс распаковки.
c0c573cc-72e2-45d7-8aa9-bea10bc0a91e.webp
По окончании распаковки заходим в папку «ComfyUI_windows_portable» и запускаем файл «run_nvidia_gpu.bat»
e4ab9c9d-caff-49a2-8f26-99b9853d8674.webp

313cb6c8-9c77-4904-85d4-06b79ac5c3e3.webp
После проделанных действий должна запуститься командная строка и открыться сайт http://127.0.0.1:8188.
35aa0aa7-4f8e-4a1c-89f4-bab34116f45a.webp

Немного про ноды (узлы) в интерфейсе ComfyUI
По изображению выше, вы уже можете представить себя в роли сис. админа, прокладывающего кабели. Все, что вы видите на картинке, — это стандартная схема, используемая по умолчанию в ComfyUI.
Ноды — это функциональные блоки для алгоритмов на [tooltip=894]Python[/tooltip], которые можно соединять линиями в логические цепочки. Они выполняют ту же роль, что и меню в automatic1111, задавая параметры для формирования изображения, но здесь их можно конструировать в сложные системы вручную и тонко настраивать, что в automatic1111 было бы невозможно. Это и плюс, и минус одновременно: множество возможностей, но разобраться в них непросто.

Для удобного взаимодействия с нодами можно поставить ComfyUI-Manager, но об этом чуть позже.

Теперь можем перейти к скачиванию модели Stable Diffusion 3 с Hugging Face
Заходим на https://huggingface.co/stabilityai/stable-diffusion-3-medium. Для доступа к файлам необходимо заполнить небольшую форму (проявляем смекалочку и заполняем на рандом),
b5a4a906-22bd-4f5c-80cd-e0b2a1dfce84.webp
Как только у нас появится доступ к репозиторию на Hugging Face, переходим во вкладку с файлами: https://huggingface.co/stabilityai/stable-diffusion-3-medium/tree/main. Здесь нам будут доступны модели и текстовые кодировщики.
Для удобства пользователей мы подготовили три варианта упаковки модели SD3 Medium, каждый из которых оснащен одинаковым набором весов MMDiT и VAE.
  • sd3_medium.safetensors включает в себя грузики MMDiT и VAE, но не включает в себя текстовые кодировщики.
  • sd3_medium_incl_clips_t5xxlfp8.safetensors содержит все необходимые веса, включая fp8-версию текстового кодера T5XXL, обеспечивая баланс между качеством и требованиями к ресурсам.
  • sd3_medium_incl_clips.safetensors содержит все необходимые веса, кроме текстового кодировщика T5XXL. Он требует минимальных ресурсов, но без кодировщика текста T5XXL производительность модели будет отличаться.
  • Папка text_encoders содержит три текстовых кодировщика и ссылки на их оригинальные карты моделей для удобства пользователей. На все компоненты в папке text_encoders (и их аналоги, включенные в другие пакеты) распространяются соответствующие оригинальные лицензии.
  • Папка example_workfows содержит примеры удобных рабочих процессов.
Лично я буду скачивать sd3_medium и кодировщики текста к нему (clip_g.safetensors, clip_l.safetensors, t5xxl_fp8_e4m3fn.safetensors).
620d1ce7-2f3c-45ec-ba72-f0dfff5180a0.webp
Кодировщики текста нужно будет закинуть по пути \ComfyUI_windows_portable\ComfyUI\models\clip, а модели в \ComfyUI_windows_portable\ComfyUI\models\checkpoints.
cb692deb-65c4-4698-92ab-ff2ef1c14344.webp
Теперь можем вернуться в наш интерфейс и нажать кнопку «Refresh» для обновления списка моделей.
55b8e9ce-57ae-4a27-afd4-d72ed8cc772c.webp
Если вы выбрали модели с текстовым кодировщиком внутри, то вам будет достаточно использовать стандартную схему, останется лишь выбрать модель. Кликаем по тексту в Load Checkpoint и открываем список с моделями.
da0ab7f7-ce55-4280-be9a-a3be19abfd31.webp
Для тех, кто скачал текстовые кодировщики отдельно, следует перейти на страницу https://huggingface.co/stabilityai/stable-diffusion-3-medium/tree/main/comfy_example_workflows с готовыми базовыми схемами и скачать ту, которая нужна. Я сделал выбор на «sd3_medium_example_workflow_basic.json».
Жмем кнопочку «Load» в интерфейсе и выбираем схему
ea13ca57-4a29-440c-bb7f-97132dfbbcab.webp
5a9b9c00-b748-461e-ab4c-8191627e7780.webp
После импорта схемы мы увидим что-то страшное и непонятное, но нам самое главное найти «Load Checkpoint» и «TripleCLIPLoader», а затем выставить необходимые настройки.
b76bf7b7-e100-463f-ab32-ceacd7414326.webp
Выбор модели и текстовых кодировщиков завершен, теперь можем поговорить немного о базовых настройках в схеме.
Базовые настройки и их определение
Если вы хотите использовать генерацию случайного сида для каждого изображения, поставьте «randomize».
2302eb2f-2272-43cf-9935-86980aea3880.webp
12b3b24c-9d5b-4957-aa05-5dc2a499f369.webp
я бы советовал оставить текущие параметры.
Промпт (от англ. prompt) — это [tooltip=529]запрос[/tooltip] к нейросети с целью получить желаемое изображение или текст. Чем четче и правильнее прописан промпт, тем более релевантным будет результат.
Negative Prompt (или отрицательная подсказка) - это дополнение к Prompt, которое уточняет, что не следует включать в изображение. Он указывает на элементы или аспекты, которые пользователь не хочет видеть на создаваемом изображении.
6064ccc2-4d48-49e1-a3fe-449898a537d1.webp
steps — количество шагов, используемых при денуазировании. Чем больше шагов может сделать сэмплер, тем точнее будет результат.
CFG Scale (classifier-free guidance scale) — это величина соответствия текстовому запросу. Чем больше, тем ближе результат к запрошенному, но вместе с тем и более шумный.
sample name — какой сэмплер будет использовать ComfyUI
scheduler — тип используемого расписания
denoise — сколько информации о латентах должно быть стерто шумом.
6064ccc2-4d48-49e1-a3fe-449898a537d1.webp

Описание для каждого узла из схемы
Узел Load Checkpoint можно использовать для загрузки диффузионной модели, диффузионные модели используются для денуации латентов. Этот узел также предоставит соответствующую модель VAE и CLIP.
2b7dade1-c1eb-4ee3-a17b-daeabced3ded.webp
Узел Load CLIP можно использовать для загрузки определенной модели CLIP. Модели CLIP используются для кодирования текстовых подсказок, которые направляют процесс распространения.
4a87478f-94ad-4066-8609-dd735de03255.webp
ConditioningSetTimestepRange — это новый узел в ComfyUI, а также один из самых мощных инструментов кондиционирования текста, которые у нас есть.

Узел позволяет задать временную позицию запуска/остановки для каждого запроса. Допустим, у нас есть 20 шагов, вы можете сказать сэмплеру, чтобы он начал «раскрашивать» кота на 5 шагов (которые, вероятно, самые важные), а затем забыть о кошке и начать генерировать собаку для оставшихся 15.
bff121b4-79fd-4dbb-8d23-fc079f72f466.webp
Узлы cэмплирования обеспечивают возможность устранения скрытых помех на изображениях с использованием диффузионной модели. Чтобы получить обзор доступных графиков и выборок, воспользуйтесь,
20cda249-d223-41f1-b13a-fea35db870f5.webp
Интуитивно понятный узел управления сидами, который работает очень похоже на управление сидами от Automatic1111.
9f4a7a09-2246-41c7-9ecc-148cff2126af.webp
Пустой узел скрытого изображения можно использовать для создания нового набора пустых скрытых изображений. Эти скрытые изображения затем можно использовать, например, в рабочем процессе text2image, добавляя к ним шумы с помощью узла sampler.
6efd692b-25bf-4096-ad01-3dc93366ccb1.webp
Узел CLIP Text Encode можно использовать для кодирования текстовой подсказки с помощью модели CLIP во вставку, которая может быть использована для направления модели диффузии на генерацию определенных изображений.
7acb2d33-d2d5-4f0c-9ede-b2bd294a86a3.webp
ConditioningZeroOut - этот узел обнуляет определенные элементы в структуре данных обусловливания, эффективно нейтрализуя их влияние на последующих этапах обработки. Он предназначен для расширенных операций кондиционирования, где требуется прямое манипулирование внутренним представлением обусловливания.
041ee4bd-ff7e-42a2-a55c-157005a1d7b3.webp
Узел Conditioning (Combine) можно использовать для объединения нескольких кондиционирований путем усреднения прогнозируемого шума диффузионной модели. Обратите внимание, что это отличается от узла Conditioning (Average). Здесь выходы диффузионной модели, обусловленные различными условиями (т. е. все части, составляющие условие), усредняются, а узел Conditioning (Average) интерполирует текстовые вкрапления, хранящиеся внутри условия.
0771e1ae-e0cd-47c0-bbd5-a403595b6244.webp
KSampler использует предоставленную модель и положительные и отрицательные условия для создания новой версии латента. Сначала латент подвергается шумоподавлению в соответствии с заданными параметрами [tooltip=121]seed[/tooltip] и denoise strength, в результате чего стирается часть латентного изображения. Затем этот шум удаляется с использованием заданной модели и положительных и отрицательных условий в качестве руководства, "создавая" новые детали в тех местах, где изображение было стерто шумом.
ba5dfca1-c3f0-4568-be1c-4d7c4b3d3a97.webp
Узел VAE Decode может использоваться для декодирования изображений латентного пространства обратно в изображения пиксельного пространства с помощью предоставленного VAE.
80f7a3c0-69f3-40db-932f-1fac0a1dbda3.webp
Узел Preview Image можно использовать для предварительного просмотра изображений в графе узлов.
ee2d53a4-5d97-46e6-9fa9-26d3a0ca3b5b.webp
Как только настроите ComfyUI под свои требования, а также укажите prompt и negative prompt, можно будет перейти к генерации изображения. Для генерации нажимаем кнопочку «Queue prompt».
0d694af2-67be-48f1-95d1-bd75d031d3d5.webp

Как мы видим, изображение было добавлено в очередь.
В командной строке мы также можем наблюдать за процессом генерации изображений.
8034124d-f68f-4d94-bd54-1578525702bf.webp
Как только генерация будет завершена, мы увидим картинку в превьюшке (output).
56c19bac-0b37-4143-880d-24f1b7a79eb5.webp

Про ComfyUI Manager

ComfyUI-Manager — это расширение, предназначенное для повышения удобства использования ComfyUI. Он предлагает функции управления для установки, удаления, отключения и включения различных пользовательских узлов ComfyUI. Кроме того, это расширение предоставляет функцию концентратора и удобные функции для доступа к широкому спектру информации в ComfyUI.​
6f63c46d-4b35-4c19-8be6-7c4d00486aff.webp
Чтобы его установить переходим по пути \ComfyUI\custom_nodes и открывать в этой папке cmd
7afd36d6-5efd-45a0-a08d-203c46dbb4bf.webp

3bb52e4f-5e87-45c5-894f-e2ed3604070e.webp
В командной строке пишем «git clone https://github.com/ltdrdata/ComfyUI-Manager.git» и дожидаемся завершения загрузки. (если git нет — установите с сайта https://git-scm.com/downloads)
bcb6ff65-6436-440e-9924-6a54bf7f6064.webp
Перезагружаем интерфейс и радуемся жизни.
aa455567-3efb-4d97-a582-065635d7d339.webp

Вот и все, гайд завершен. [tooltip=71]База[/tooltip] рассказана, надеюсь все будут довольны и кому-то моя статья пригодится. :cool_bun:​
 

Members, viewing this thread

Сейчас на форуме нет ни одного пользователя.