Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

TLDR: Че тут происходит вообще? Я тут делюсь своим опытом по работе с нейронками. Если тебе эта тема интересна, но ты только начал вникать загляни ко мне в профиль или в конец статьи, там есть полезные ссылки. Сейчас это может быть слишком сложным для тебя

Хотели когда-нибудь создать свою модель выложить на civitai и грести лайки? Что же после этой статьи вы станете к этому на один шаг ближе.

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

Заходим в наш automatic1111, а затем в Checkpoint Merge.

Нам понадобятся модель для которой вы хотите сделать инпейнт версию, а так же ее родитель. У большинства он сейчас 1.5. Узнать родителя модели можно на странице где вы ее скачивали. В основном это 1.5. Ну и инпейнт версия этого родителя. Скачать 1.5 (7.7Gb). Скачать 1.5-inpaint (4.3Gb).

Выставляем все как на скрине и жмем Merge:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Модель будет сохранена в папку где находятся ваши основные модели.

Что мы сделали? В целом, все можно понять по формуле A + (B - C) * M. Мы вычли из целевой модели то что имеет отношение к обычной 1.5, получили только те веса которые делают ее такой какая она есть, а затем влили это всё в 1.5-inpaint. Получили инпейнт версию нашей модели.

Что по настройкам:

ABC - наши моделиCustom name - имя для вашей новой моделиMultiplyter - коэффициент смешивания. Чем ближе к нулю тем меньше воздействия на модель A. чем ближе к 1 тем больше = )

Interpolation Method - метод воздействия. No interpolation - Выключить. Нужна тогда когда вы просто хотите изменить формат модели например или добавить в нее VAE. Нужна только одна модель. Weight Sum - суммировать веса модели и получить либо полную фигню, либо что-то интересное. Требует две модели. A * (1 - M) + B * M. Add difference - то что мы использовали выше. Требует выбора трех моделей потому что к первой добавляется разница между третьей и второй. A + (B - C) * M.

safe as float16 - теряем в точности вычислений, но не сильно. Уменьшаем вес модели, иногда довольно сильно (если до этого она была float32).

Copy config from - Это для SD2. и выше. Они имеют с собой файл настроек, тут мы указываем как эти настройки следует копировать. Я ни разу не смешивал версии выше 1.5. Они мне не интересны.

Save in VAE - можете добавить в модель свою VAE.

Checkpoint format - Некоторые веб интерфейсы не поддерживают safetensors пожалуй это единственная причина почему можно было бы выбрать ckpt в остальных выбирайте safetensors так как он безопасней, в том плане что, в ckpt можно поместить работающий вирус, а в safetensors нет.

Discard weights with matching name - это новая настройка для стандартного интерфейса и очень глубокая нора. Сюда пока не лезем. Тут нужно рассказывать про то что такое модели про слои и веса.

Вернемся к нашей свежесозданной модели.

Эта версия должна справляться с задачами инпейнтинга намного лучше. Давайте проверим. Идем в инпейнт и не меняя никаких настроек..Свежесозданная инпейнт версия нашей модели:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Обычная версия нашей модели:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Просто 1.5-inpaint:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Наверное стоит пояснить для новичков, что получить первый результат на обычной версии модели можно, подкрутив настройки, но как видим инпейнт менее к ним привередлив. Что больше нравится судить вам. Как всегда призываю к экспериментам. По моему опыту, с инпейнт версиями моделей мне работать проще. Жаль только забываю на них переключаться..

Теперь давайте создадим свою модель на основе уже имеющихся. Процесс схож.

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

museV1_v1:0.4+(Basil_mix_fixed:0.3+(lofi_V1Fp16:0.5+colorful_v13))

Тут происходит следующее: lofi_V1Fp16 + colorful_v13 с коэффициентом смешивания 0.5. Basil_mix_fixed с коэффициентом 0.3 складывается с результатом их смешивания. И итоговый результат смешивается с museV1_v1 с коэффициентом 0.4 для museV1_v1. Всё просто.

Просто, чтобы показать, давайте смешаю что-нибудь от балды (многие модели так и были созданы. Путем экспериментов):

Выбираю weight sum. Первое смешивание.

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Mainhentai (нужна была по работе 😳) сложу с полученной моделью

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Хорошая идея записывать в имени файла то как вы смешиваете

Решил все это подмешать снова в реву.

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Результат нашего супа из моделей (сид и промпт зафиксированы + orangemix vae):

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Просто рева:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Ну и чтобы не говорили что ничего ж не меняется. Результат нашего мутанта + артэндэрос 0.35, который заточен на реализм. Получаем почти ревовские пропорции с более реалистичной кожей:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели

Получилось лучше или хуже? Достаточно ли мы перенесли из оупенджорней? Не многовато ревы? По одному сиду и промпту сказать почти не возможно. Необходимо идти в xyz plot и проводить множество тестирований. Более того это нужно делать на каждом шаге и шаге после этого шага, чтобы выбирать подходящую степень смешивания. Делать это на разных промптах с использованием разных стилей которых вы возможно пытались добиться. Я же попытался вам открыть сам процесс простого смешивания. Надеюсь удалось. Более продвинутые техники постараюсь описать позже.

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

- Примеры других смешиваний: раз и два(NSFW).

А на этом все. Я написал уже множество других гайдов от для самых маленьких, до тренировки моделей на своих лицах. Часть из них можно почитать в моём профиле. Но найти все пока что можно только в телеграм канале.

Поделиться результатом или задать вопрос, а так же пообщаться с единомышленниками вы можете в нашем нейробратском комьюнити.

На моем бусти вы сможете найти датасеты для обучения, доп материалы к гайдам и многое другое. Или просто финансово отблагодарить если мои материалы вам как-то помогли.

П.С. Создали онлайн интенсив для новичков. Пройдет 7 и 10 апреля 2023 года. Ознакомиться с программой и принять участие можно по ссылке.

7373
14 комментариев

СТРАСТИ-МОРДАСТИ!

Кара Делевинь.

6
Ответить

Хорошая девчонка была. Жаль опустилась до того, что учавствовала в групповухе с толстым и обрюзгшим илоном маском. За деньги можно купить кого угодно видимо.

1
Ответить

Это кара?

1
Ответить

Delevingne. Ппц фамилия

Ответить

Как же заебали эти ваши нейрокартинки, почему вы вылезаете из своего загона-подсайта? Залезай обратно.
Нейродурачки хуже криптодаунов, пропустите вы хоть свой текст через нейросеть чтоб она вам ошибки поправила, емое

1
Ответить

Кстати, генерация успокаивает нервы 🙃

1
Ответить

Комментарий недоступен

1
Ответить