Сообщество - Stable Diffusion & Flux

Stable Diffusion & Flux

4 700 постов 2 289 подписчиков

Популярные теги в сообществе:

Пост удален администрацией (нарушение правил размещения рекламы)

9

Опять QR!

Хотел придумать интересное описание как шёл процесс, но почитав комментарии к похожим постам увидел какое-то неприятие этой темы. Я согласен, QR-код должен выполнять свою функцию, но почему он не может выглядеть красиво? На машинах доставки например, рядом с красивыми принтами висит это чёрное пятно. Да много где коды используются, нас буквально окружают эти чёрные кляксы... Скорее риторический вопрос. Увидев работы китайцев, которые два года этим занимались, был удивлён, насколько можно преобразить казалось бы утилитарную сущность. На мой взгляд одно из достоинств SD совмещать искусство и цифру, а не только генерить бесконечные сиськи.

Воркфлоу как такового нет, это скорее итеративный процесс, чем генерация десятка изображений из которых можно выбрать. На светлой теме оформления лучше считывается, на тёмной теряется, видимо яркость экрана сбивает сканер, немного приходится отодвинуть камеру от монитора. Но я надеюсь это временные проблемы)

Показать полностью 3
7

Все что нужно знать про модели stable diffusion. Часть 3

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

Будем использовать это расширение
Потому что оно простое и может сделать все что нужно

В двух словах про другие расширения

Checkpoint merger (который по умолчанию установлен) - чуть сложнее и нет возможности работать с ema/no-ema

Model toolkit - отличное расширение, чтобы глянуть что-там в модели. Конвертация fp16/fp32, есть возможность вытянуть отдельные части модели и нужную пачку весов (ema/no-ema), но нужно сильно больше телодвижений и интерфейс опять не такой удобный как у model converter

Короткая справка что там в модели

Основная часть + подробная инфа

Supermerger - просто смотрите на картинку (кстати, я не смог найти как вытянуть отдельные части или выбрать нужную пачку весов, если знаете напишите в комментах)

При том, что нам не нужно мержить модели, а просто получить файлик нужного формата - это все немного не то.
А теперь, как в рекламе олд спайс: посмотрите на остальные расширение и посмотрите на это, еще раз на другие и опять на это

Установка

Устанавливается точно также как и все остальные расширения.
Переходим во вкладку Extensions, раздел Available нажимаем кнопку Load from: и у нас подгрузится список расширений. Дальше в поиске пишем model converter у нас он такой один, натуральный блондин. Нажимаем серую кнопку Install и после того как он загрузит, переходим в раздел Installed и нажимаем оранжевую кнопку Apply and restart UI и после перезагрузки у нас появиться вкладка model converter

Как превратить брюки в элегантные шорты?

Если вы читали вторую часть, то по параметрам вам все должно быть понятно:
Model - модель, с которой будем работать (работает и с ckpt, и с safetensors)
Custom name - название сконвертированной модели (если ничего не указать, возьмет оригинальное название и добавит приписки с выбранными параметрами, можно глянуть чуть ниже)
Precision - точность чисел в нашей модели
Pruning methods - какую пачку весов будем оставлять (disabled - оставит без изменений)
Checkpoint format - расширение, которое хотим получить
Show extra options - покажет дополнительные поля в которых мы сможем выбрать что делать с конкретными частями модели, пропускаем (если вам это нужно, то и без меня знаете)
Fix clip - чинит текстовую часть нашей модели, соответственно есть смысл включать если она сломана, не трогаем (кстати model toolkit может написать если сломан clip)

Работает все просто: выбираем модель, нужные параметры, нажимаем на оранжевую кнопку "Run" и ждем. Делает достаточно быстро, но это еще зависит от выбранных параметров. После того как новая модель будет готова, в правом столбце появиться сообщение с расположением файла (сохраняет туда, где лежат остальные модели, у меня указана нестандартная папка)

Важный момент
Если мы что-то делаем с моделью, то она должна быть полной. То есть если мы хотим вытянуть из модели ema веса, то в модели они должны быть. Если мы хотим перевести модель в fp16, то она должны быть fp32 (иначе нет никакого смысла переводить fp16 в fp16 или fp16 в fp32, потому что точность мы уже потеряли). Условно говоря, модель - это тортик. И если от целого тортика (полная модель с двумя пачками весов в fp32) мы можем отрезать кусок (no-ema fp16), то из кусочка у нас не получиться воссоздать целый тортик или другую его часть

Зачастую авторы выгружают уже обрубленные модели, в которых нет двух пачек весов или уже в fp16. Поэтому для демонстрации буду использовать sd1.5

Вес

Показатель, по которому можно примерно судить что там в модели:
Две пачки весов в fp32 ~7гб
Две пачки весов, одна из которых fp16 ~5.8гб
Две пачки в fp16 или одна пачка весов fp32 ~3.6-4гб
Одна пачка весов в fp16 ~2гб

С тем, как показывают вес есть отдельный прикол, но тут не углубляясь.
Возьмем например Protogen 3.4 на civitai и huggingface

Смотрим. Ага, пять с лишним гигов, значит у нас тут две пачки, одна из которых fp16, а другая fp32, ок. Так, стоп. Почему на civitai она весит 5.57, а на huggingface 5.98 (выделены красным)? Получается они разные? Начал качать, а он показывает 5.6. Скачал, и у обоих размер пишет 5 843 978, а в свойствах 5.57. Так и хочется сказать

Они просто по разному считают:
хром - показывает нормальный размер и округляет при скачивании
huggingface - показывает размер в байтах, оставляет только первые 3 цифры, а остальное отбрасывает и пишет гб (посмотрите размер на huggingface и в свойствах значение в скобках)
civitai - показывает размер файла нормально
проводник - тоже нормальный размер, только в кб (5 843 978кб/1024=5707мб; 5707Мб/1024=5.7гб)
ну а в свойствах все как надо

Поэтому помните, что одна и та же модель может на разных сайтах может весить по разному. На huggingface будет показывать вес больше чем на civitai

На этом с моделями все, все молодцы, расходимся. Нейронки интересная и непростая штука, поэтому если хотите лучше в них разобраться, подписывайтесь на канал, там рассказываю как работать с stable diffusion

Показать полностью 12
574

Официальный roop для Stable Diffusion (плюс разблокированная версия)

Разработчик roop решил сам сделать собственную версию расширения для automatic1111 и выпустил sd-webui-roop

Официальный roop для Stable Diffusion (плюс разблокированная версия)


Под капотом по сути, тот же самый roop, но заточенный конкретно под замену лиц на изображениях. Что он умеет:

  • При использовании во вкладке txt2img, заменяет лица на всех генерациях на лицо с фото, которое вы выберете.

  • При использовании во вкладке img2img позволяет менять лица на изображении, как сгенерированном в SD, так и загруженном (например - фото).

    Также есть поддержка улучшения лица через Codeformer / gfpgan и возможность использования апскейлеров.

Для установки расширения понадобится установленная Visual Studio (для компиляции Insightface)

Инструкцию по установке без Visual Studio и скомпилированные файлы можно найти тут

Официальный Github

Разумеется, в оригинальной версии стоит проверка на NSFW контент. Если для вас это критично, то я подготовил для вас версию расширения с вырезанной цензурой:

sd-webui-roop без цензуры


Больше различных нейросетей, а также их портативные версии, можно найти в моем телеграм канале Neurogen

Показать полностью
9

Жуть

Поставил себе на посмотреть нервную сетку Stable Diffusion Webui. Сначала попробовал на cpu. У меня серверное железо с двумя Xeon 2683v3 по 14 ядер. В сумме 28 ядер, 56 потоков. 64 озу. Попробовал. Картинка 512х512 генерируется по полторы минуты при стандартных настройках. У меня была там затычка в виде gtx750 c 4гб памяти. Но на ней вообще не заработало, видеопамяти мало... Сбегал в ларек, купил rtx3060. При тех же настройках, картинки стали генерироваться за 5 секунд. Стало можно экспериментировать. Увеличить число проходов, разрешение поднять. И тут я понял, что это жуткая вещь. Оно иногда такое выдумывает...

Жуть
Показать полностью 1
Отличная работа, все прочитано!