Как выбрать сэмплер и планировщик
Урок «samplers» в группе Картинки: модели списка уроков. Шагов: 10.
Чему вы научитесь
Поставите рядом два сэмплера, которые отличаются одной настройкой, и научитесь выбирать сравнением.
Что понадобится
- Урок продолжает Первая картинка из текста. Карточка говорит об этом; это подсказка, а не замок.
- Ноды: Load Checkpoint, CLIP Text Encode (Prompt), Empty Latent Image, KSampler, VAE Decode, Save Image / Preview Image, Preview Image / Save Image.
- Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.
Шаги
Слова каждого шага, как их показывает урок. Имена нод выделены.
Две настройки, один способ выбора (чтение)
Сэмплер (
sampler_name) это способ, которым каждый шаг убирает шум. Планировщик (scheduler) решает, сколько шума остаётся перед каждым шагом. Вместе они меняют вид картинки, её детали и то, сколько шагов ей нужно.Лучшей пары для всех моделей нет. Выбирают сравнением: тот же сид, те же шаги и cfg, изменена одна настройка. Этот урок собирает такое сравнение на одном холсте.
Нужен граф с картинкой
Этот урок продолжает граф из урока «Первая картинка из текста». На холсте должны быть Load Checkpoint, две ноды CLIP Text Encode (Prompt), Empty Latent Image, KSampler, VAE Decode и Save Image со связями между ними.
Если их нет, сначала пройдите тот урок.
Добавьте второй сэмплер
Добавьте вторую ноду KSampler и подключите к ней то же, что к первой:
- ко входу
modelвыход ноды Load Checkpoint; - ко входам
positiveиnegativeте же две текстовые ноды; - ко входу
latent_imageтот же Empty Latent Image.
Оба сэмплера начинают с одного пустого латента и одного промпта.
- ко входу
Сделайте всё одинаковым
В ноде KSampler поставьте
seed,steps,cfgиschedulerтакими же, как в первом сэмплере.Сид это число, из которого делается начальный шум. С одним сидом оба начинают с одного и того же шума, и любая разница в результате идёт от той одной настройки, которую вы меняете.
Поменяйте только сэмплер
В ноде KSampler выберите другой
sampler_name. Например, в первомeuler, а во второмdpmpp_2m.Покажите второй результат
Добавьте ноду VAE Decode и ноду Preview Image. Выход ноды KSampler идёт во вход
samplesноды VAE Decode, выходVAEноды Load Checkpoint в её входvae, а её выход во входimagesноды Preview Image.Теперь один запуск даёт две картинки рядом.
Закрепите сид и запустите (чтение)
Под полем
seedу каждого сэмплера есть выбор, что делать после запуска. Поставьтеfixedв обоих, иначе ComfyUI меняет сид после каждого запуска, и сравнение ломается.Сохраните граф, запустите в ComfyUI и посмотрите на две картинки: резкость, цвет, мелкие детали, насколько точно выполнен промпт. Потом попробуйте во второй ноде третий сэмплер, и так далее.
Потом планировщик (чтение)
Теперь дайте обоим сэмплерам один
sampler_nameи поменяйте во втором толькоscheduler.normalиsimple: ровные шаги;karrasиexponential: больше шагов в конце, на мелкие детали;sgm_uniform: с ним работают с SD 3.5;beta: больше шагов в начале и в конце.
При 20 шагах и больше разница часто мала, при малом числе шагов велика.
С чего начать для каждого семейства (чтение)
Пары из собственных шаблонов ComfyUI, хорошее начало:
- SD 1.5 и SDXL:
dpmpp_2mсkarras, от 20 до 30 шагов; Pony и Illustrious:euler_ancestral; - Flux.1, Flux.2, Qwen-Image:
eulerсsimple; - SD 3.5:
eulerсsgm_uniform; - Z-Image:
res_multistepсsimple; - турбо и дистиллированные модели: ровно то, что в их шаблоне, некоторые берут
lcm.
Сэмплеры со словами «ancestral» или «sde» в имени добавляют свежий шум на каждом шаге: картинка не успокаивается с ростом шагов и выходит разнообразнее.
- SD 1.5 и SDXL:
Готово (чтение)
Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.
Оставьте пару, которая выглядит лучше для вашей модели, а вторую ветку удалите или сохраните для следующего сравнения. Так же сравнивают два значения cfg или два числа шагов: всё одинаково, изменена одна настройка.
Что проверяет урок
Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:
- Шаг 2, Нужен граф с картинкой:
- нода Load Checkpoint.
- нода CLIP Text Encode (Prompt).
- нода CLIP Text Encode (Prompt).
- нода Empty Latent Image.
- нода KSampler.
- нода VAE Decode.
- нода Save Image или Preview Image.
CLIPноды Load Checkpoint во входclipноды CLIP Text Encode (Prompt) (промпт) (можно через Load LoRA или CLIP Set Last Layer).CLIPноды Load Checkpoint во входclipноды CLIP Text Encode (Prompt) (негатив) (можно через Load LoRA или CLIP Set Last Layer).MODELноды Load Checkpoint во входmodelноды KSampler (первый сэмплер) (можно через Load LoRA или LoraLoaderModelOnly или ModelSamplingSD3).CONDITIONINGноды CLIP Text Encode (Prompt) (промпт) во входpositiveноды KSampler (первый сэмплер).CONDITIONINGноды CLIP Text Encode (Prompt) (негатив) во входnegativeноды KSampler (первый сэмплер).LATENTноды Empty Latent Image во входlatent_imageноды KSampler (первый сэмплер).LATENTноды KSampler (первый сэмплер) во входsamplesноды VAE Decode (первый результат).VAEноды Load Checkpoint во входvaeноды VAE Decode (первый результат).IMAGEноды VAE Decode (первый результат) во входimagesноды Save Image или Preview Image.
- Шаг 3, Добавьте второй сэмплер:
- нода KSampler.
MODELноды Load Checkpoint во входmodelноды KSampler (второй сэмплер) (можно через Load LoRA или LoraLoaderModelOnly или ModelSamplingSD3).CONDITIONINGноды CLIP Text Encode (Prompt) (промпт) во входpositiveноды KSampler (второй сэмплер).CONDITIONINGноды CLIP Text Encode (Prompt) (негатив) во входnegativeноды KSampler (второй сэмплер).LATENTноды Empty Latent Image во входlatent_imageноды KSampler (второй сэмплер).
- Шаг 4, Сделайте всё одинаковым:
seedноды KSampler (второй сэмплер) равно полюseedноды KSampler (первый сэмплер).stepsноды KSampler (второй сэмплер) равно полюstepsноды KSampler (первый сэмплер).cfgноды KSampler (второй сэмплер) равно полюcfgноды KSampler (первый сэмплер).schedulerноды KSampler (второй сэмплер) равно полюschedulerноды KSampler (первый сэмплер).
- Шаг 5, Поменяйте только сэмплер:
sampler_nameноды KSampler (второй сэмплер): не тот же файл, что в полеsampler_nameноды KSampler (первый сэмплер).
- Шаг 6, Покажите второй результат:
- нода VAE Decode.
- нода Preview Image или Save Image.
LATENTноды KSampler (второй сэмплер) во входsamplesноды VAE Decode (второй результат).VAEноды Load Checkpoint во входvaeноды VAE Decode (второй результат).IMAGEноды VAE Decode (второй результат) во входimagesноды Preview Image или Save Image.