Easy Apply IPAdapter (Embeds)(ipadapterApplyEmbeds)
Узел Easy Apply IPAdapter (Embeds) из ComfyUI-Easy-Use.
ipadapter Apply Embeds
Узел Easy Apply IPAdapter (Embeds) (класс ipadapterApplyEmbeds) применяет IP-Adapter к диффузионной модели, используя предварительно вычисленные эмбеддинги вместо референсного изображения. Он предназначен для рабочих процессов, в которых уже есть EMBEDS от энкодера или узла генерации эмбеддингов, и предоставляет основные элементы управления IPAdapter в компактном интерфейсе «Easy Apply». Узел возвращает пропатченный MODEL, готовый для сэмплера, а также выход IPADAPTER для последовательного соединения последующих шагов адаптера. Он находится в категории EasyUse/Adapter.
Входы
Обязательные
-
model(MODEL)
Базовая диффузионная модель, к которой будет применён IP-Adapter. -
clip_vision(CLIP_VISION)
Загруженная модель CLIP Vision. Хотя этот узел использует предварительно вычисленные эмбеддинги, конвейеру IPAdapter всё равно требуется модель CLIP Vision внутри. Подключите ту же модель CLIP Vision, которая использовалась при генерации эмбеддингов. -
ipadapter(IPADAPTER)
Модель/конфигурация IPAdapter, которую необходимо применить. -
pos_embed(EMBEDS)
Позитивные эмбеддинги, описывающие стиль, содержимое или объект для переноса. Это основной источник условий для адаптера. -
weight(FLOAT, default = 1, range = -1 to 3)
Общая сила IPAdapter. Меньшие значения ослабляют эффект; большие значения усиливают его. Значение 0 фактически отключает адаптер. -
weight_type(COMBO)
Выбирает пресет взвешивания IPAdapter. Различные пресеты изменяют то, как внимание адаптера смешивается с промптом, позволяя выбирать баланс между переносом стиля, композицией и следованием промпту. Точные названия пресетов предоставляются реализацией IPAdapter. -
start_at(FLOAT, default = 0, range = 0 to 1)
Доля процесса денойзинга, с которой IPAdapter начинает применяться. Оставьте значение 0, чтобы применять его с начала генерации. -
end_at(FLOAT, default = 1, range = 0 to 1)
Доля процесса денойзинга, на которой IPAdapter перестаёт применяться. Оставьте значение 1, чтобы применять его до конца генерации. -
embeds_scaling(COMBO)
Управляет тем, как предварительно вычисленные эмбеддинги используются внутри cross-attention. Доступные варианты:V only: внедряет только компонент value из эмбеддинга.K+V: внедряет и компонент key, и компонент value из эмбеддинга.K+V w/ C penalty: аналогичноK+V, но с дополнительным штрафом cross-attention.K+mean(V) w/ C penalty: использует ключи и усреднённые векторы value с тем же штрафом cross-attention.
Необязательные
-
neg_embed(EMBEDS, optional)
Негативные эмбеддинги, используемые для направления результата в сторону от нежелательных стилей или содержимого. Оставьте неподключённым, если негативный эмбеддинг недоступен. -
attn_mask(MASK, optional)
Необязательная маска внимания, которая ограничивает влияние IPAdapter определёнными областями сгенерированного изображения. Оставьте неподключённой, чтобы применять адаптер глобально.
Выходы
-
MODEL
Диффузионная модель с пропатченным IPAdapter. Передайте её в сэмплер или в другие узлы обработки моделей. -
IPADAPTER
Объект IPAdapter, который использовался. Его можно передать в другой узел Easy Apply IPAdapter при объединении нескольких адаптеров в одном рабочем процессе.
Примечания по использованию
-
Этот узел не принимает изображение на вход. Если у вас есть референсное изображение, используйте обычный узел Easy Apply IPAdapter; используйте этот узел, когда у вас уже есть
EMBEDSот предыдущего шага кодирования IPAdapter. -
pos_embedобязателен;neg_embedнеобязателен. Если доступен только один эмбеддинг, оставьтеneg_embedнеподключённым. -
Используйте
start_atиend_at, чтобы управлять тем, на каком этапе расписания сэмплирования адаптер активен. Например, применение IPAdapter только в середине генерации может помочь сохранить общую композицию, одновременно перенося стиль. -
Выход
IPADAPTERполезен для цепочек: возьмите выходMODELодного узла Easy Apply IPAdapter и подайте его во входmodelдругого, повторно используя ту же конфигурацию адаптера через выходIPADAPTER.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.