Комментарии 6
в реальности DDIM выдает весьма приличные результаты за 10-12 шагов, почему он у вас не справляется за 100? это какие-то другие шаги?
по этому эксперименту он за 100 шагов выдает результаты, которые и запросу не соответствуют. возможно, есть ошибка при патчинге `scheduler = sched_class.from_config(config)`. Поделитесь результатами, где за 10 шагов хорошо получается
https://replicate.com/stability-ai/stable-diffusion
или любая другая вебморда, типа automatic1111 или invokeai, или command-line утилиты -- везде DDIM, 10 шагов -- отличный результат. Если выглядит криво, добавляем negative prompt
апдейтнул результаты с другими параметрами. но за 10 шагов все равно не вижу, чтобы хорошо получалось. за сто, да
потыкал replicate, и вижу, что любой выбор scheduler даёт приемлимые результаты при 10 шагах (картинка, а не шум гранулами, как у меня)
возможные причины косяка:
1. я неправильно декодирую латенты в картинку на ранних этапах, а только на финальных. может надо нормализовать перенасыщенные/saturated пиксели
2. планировщики в diffusers как-то отличается по имплементации от stability-ai
3. может быть дело в нестандартном автоэнкодере sd-vae-ft-mse
4. или что-то другое :)
Эксперименты со Schedulers в Stable Diffusion