Всё, что вам необходимо узнать о стабильных моделях диффузии. Третья часть

Всё, что вам необходимо узнать о стабильных моделях диффузии. Третья часть

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

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

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

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.6гб
Две пачки в 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

#нейросети #stablediffusion #гайды.

 

Источник

вам, все, диффузии, моделях, необходимо, стабильных, третья, узнать, часть, Что

Читайте также