Серия «Stable Diffusion для ЛЛ»

Погружаемся в реализм

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

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

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

Мы будем работать "deliberate". Потому что на аниме моделях заниматься этим глупо, а на фотореалистичных слишком просто. Напишем "woman". Посмотрим, что у нас получится:

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост
Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

Ни туда, ни сюда. Это еще не фото, но уже и не рисунок. Не то, что мы сегодня хотим достичь. Вообще модели можно поделить на две большие категории. Одна категория выдает годноту уже с парой слов (то есть работает примерно как миджорней), другим же нужно навалить "мяса". "Deliberate" по большей части относится ко второй. Что является платой за гибкость.

Добавим конкретики. a photo of woman

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

Лучше. Продолжаем

Думаем как думает модель. При обучении ей скармливали изображения с подписями о том что на нем изображено. Значит нам нужны подписи которые могли быть под фотографией.

photography, 4k, 8k, 100mm, canon EOS, dof, analog photo, dslr, bokeh, grain и так далее, много их. Часть выкладывал файлов в свой группе. Дальше можно поработать над деталями и вот тут люди часто делают ошибку. Они пишут realistick eyes, hyperrealistick skin и так далее. Это подсказки которым место наоборот в негативе так как относятся хоть и к крайне детализированным, но все же картинам и рендерам. Мы используем detailed skin, detailed face, intricate detailed

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост
Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

Мы уже ближе, но все еще есть самая большая ошибка. Идеальная кожа. Да мы уже можем видеть поры, но она ну слишком гладкая. Нет ни родинок ни смены пигментации. Ни-че-го. Это сильно бьет по натуральности картинки. Без нашего вмешательства сетка обычно такое не добавляет. Вмешаемся.

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост
Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

Так же обратите внимание на CFG - он всего 3. Хотя обычная рекомендация 7-11. Но я обнаружил что большинство моделей в реализме показывают себя лучше с довольно низким CFG.

+ pigmentation

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

В общем, дефекты кожи наш бро. А кто еще наш бро? Правильный семплер конечно. Видим что "фотка" слегка заблюрена. Это дело рук Eauler a. Переставим на DPM ++ 2M Karras и сразу получаем вот такой прирост:

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

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

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

Сверху это всё можно полернуть нейросетевым апскейлером. Например, через Hires fix или SD Upscale. Но учтите, что скорее всего вам прийдется отрегулировать вес дефектов. Они могут начать проявляться слишком сильно.

Подведем итог. Для фотореализма нужно:

  1. Выбрать правильную модель

  2. Правильный промптинг

  3. Выбрать подходящий семплер

  4. Не забыть про дефекты

  5. Правильный CFG

  6. Все советы это лишь советы, а не строгие правила. Например, добавление realistick eyes может наоборот улучшить вашу работу если грамотно подобрать ему вес.

Еще один пример применения этих советов на практике:

Погружаемся в реализм Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, Арты нейросетей, Длиннопост

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

Больше гайдов на моем канале, подписывайтесь чтобы не пропустить:

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

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

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

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

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


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

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

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

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

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

Что мы сделали? В целом, все можно понять по формуле 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 модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

Просто 1.5-inpaint:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

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

Простое слияние похоже на рецепт какого-нибудь сложно сочиненного блюда где мы смешиваем какие-то ингредиенты в отдельных тарелках, а затем смешиваем эти отдельные тарелки между собой. Например, видел вот такую формулу которая должна вам дать модель очень похожую на нынче популярную 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 модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

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

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

Просто рева:

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

Смешивание моделей. Создаём свою inpaint модель, на основе вашей любимой модели Обучение, Нейронные сети, Stable Diffusion, Арты нейросетей, Цифровой рисунок, Digital, Видео, Без звука, Длиннопост

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

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

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

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

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

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

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

Чиним картинку в три клика

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

Чиним картинку в три клика Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, 2D, Арты нейросетей, Длиннопост

Использование негативного промпта так же важно, как и позитивного. Разница между этими двумя картинками только в нем. Показались руки и они нормальные!!

Чиним картинку в три клика Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, 2D, Арты нейросетей, Длиннопост

Но что это за странные bad_promts? Где привычные mutated hands?

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

Я подготовил архив этих файлов. Который вы можете скачать по данной ссылке (ТГ канал. А каким файлообменником вы пользуетесь? ).

Как использовать:

Разархивируйте в папку embeddings которая должна находиться в корневой директории вашего Automatic1111

Чиним картинку в три клика Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, 2D, Арты нейросетей, Длиннопост

Для использования, либо пишем названия файлов (без расширения) в свой негатив. Либо следуйте инструкции:

Чиним картинку в три клика Обучение, Stable Diffusion, Нейронные сети, Цифровой рисунок, 2D, Арты нейросетей, Длиннопост

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

На этом всё. Не все же гайды на 8 экранов должны быть) Если вы пропустили мой прошлый гайд. Рекомендую ознакомиться. Рассказал как иметь полный контроль над позой персонажа.

Еще больше гайдов в профиле и совсем все на ТГ канале.

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

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

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

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках

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

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Прежде чем начать, кратко для новоприбывших, как установить ControlNet. В automatic1111 идем в Extension-Available жмем Load from. Ищем ControlNet, жмем Install. Скачиваем модели. Сегодня нам понадобится openpose. И кидаем по пути ваша_папка_с_автоматиком\extensions\sd-webui-controlnet\models. Всё. Вы готовы. Можем начинать.

Сегодня продолжим тему, начатую в моем прошлом гайде, будем выжимать из препроцессора openpose все что можно. В том числе используя сторонние расширения.

Давайте сразу их установим. Первое можно найти там же где и устанавливали ControlNet. Называется posex.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Для установки второго(на момент написания статьи), перейдите на вкладку Install from URL.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Вставьте https://github.com/jexom/sd-webui-depth-lib.git нажмите Install.

Так же нужно поднастроить контролнет. Зайдите в Settings - СontrolNet и в MultiControlNet передвиньте ползунок на 3. Так мы сможем использовать сразу несколько моделей.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Сохраняем!!! Apply settings. Перезапускаем полностью автоматик и обновляем страницу.

Если помните то в прошлом гайде я советовал сохранять ужачные позы. Совет все еще хороший, но что делать что нужной вам позы у вас просто нет. Все просто. Создать ее)

Идем в txt2img. Видим внизу новое раскрывающееся меню. Posex заглянем туда.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Send this image to ControlNet. - будет пере отправлять то что видим в окне с позой в контрол нет. Это нам и нужно.

Target ControlNet number - в какую вкладку контролнета отправить позу. Напомню что у нас их теперь 3.

Чуть ниже кнопки сброса: Всего, камеры, позы.

Управление простое и можно разобраться самому, но есть нюансы, поэтому распишу:

С зажатым ПКМ перемещаем холст. Может показаться что позу по экрану, но если добавите еще одну то увидите что они двигаются вместе. (нюанс 1, если в браузере есть управление жестами мыши отключите, иначе будет работать криво)

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

ЛКМ крутим.

Колесиком приближаем и отдаляем. Для более плавного отдаления\приближения зажмите колесико мышки и двигайте ей.

Чтобы двигать кости, наводить на одну из них, как появится рамка, двигайте.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Нюанс 2. У нас есть две фигуры. Как подвинуть одну из них? Наведите на любую кость, зажмите ПКМ, двигайте. Это было для меня не очевидным, пришлось читать гитхаб. А вот Fixed Roll автор решил не объяснять. Экспериментами выяснить что делает не вышло. Add - добавляем нового скелета. Remove - удаляем. Чтобы удалить, наведите на кость, нажмите ЛКМ\ПКМ, а затем Remove. Разрешение итоговой картинки, чем выше тем чтонее. Может пригодиться если собираетесь делать в дали. Для близких ракурсов и 512 ок. Далее кнопки установки бэкграунда, просто для примерки, он не влияет на генерацию. Но вы можете использовать примерочный бэкграунд позже в контрол нете чтобы он как раз влиял. А так же как референс для позы. Осталось выставить:

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Внизу кнопки сохранения поз, там нюансов нет, так что давайте уже что-нибудь сгенерируем!!

Итак, помните про разрешение? Оно нм нужно еще и для изменения композиции. Я ставлю 960 на 512. в настройках генерации либо такое же, либо с таким же соотношением сторон.

Пишу промпт. Беру стандартную позу, выставляю разрешение, раздвигаю по сторонам чтобы картинка получилась интересней, ведь двух девушек вместе мы и без этого можем сгенерировать, а вот врозь уже сложнее(было). Активирую ControlNet, препроцессор None(вы же помните из прошлого урока почему None? Потому что у нас уже есть поза, а препроцессор ее создает. Его работа уже сделана нами) Model - openpose.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Получаем:

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

на самом деле не сразу получаем, мелкие лица нейросеть рисует не так хорошо, поэтому прогнал через СД апскейл, а потом уменьшил чтобы влезла сюда. А вот что хорошо получается, так портрет. Бывало что не сразу удается добиться нужного приближения? Эти дни в прошлом)

Так же не забываете что промпт должен соответствовать позе. Поставив в т-позуб но написав dansing можете получить искажения.

Еще примеры:

Легко решаем вопрос количества людей:

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост
ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Теперь большая картинка без кучи клонов делается в разы проще:

Я тут считерил. Поставил в т-позу, но, во-первых, она далеко, во вторых в промпте running, а в третьих Guidanse End поставил на 0.75 (что это, в прошлой статье).

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Изменить фигуру:

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост
ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Повернуть голову в нужную сторону:

Тут признаю честно, в Posex у меня повернуть голову не вышло, как я говорил у меня проблемы с пространственным мышлением) Так что считерил, взял из блендера.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост
ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Ну в общем понятно. Туда же и наклон головы, повороты туловища и тд и тп. Это была хорошая часть, а ниже будет про руки. И она, спойлер, не так хороша как ее некоторые блогеры малюют.

Дальше идет часть которую уже тиражируют гайдеры, но делать это с одной стороны рано, а с другой знать полезно.

Руки:

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Выставляем позу как нравится и скачиваем нажав под ней Download. Идем во кладку сверху, которая называется Depth Library. Она появилась после установки последнего расширения.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

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

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Как выставили наши руки, вы можете нажать Send to ControlNet, но делать этого не рекомендую потому что отправит во вкладку 0. Лучше нажать сохранить PNG и загрузить его во вторую вкладку вручную. В итогах статьи напишу почему. Далее в Posex, так же скачиваем нашу картинку и помещаем ее на нулевую вкладку. Posex пока не нужен, выключаем и сворачиваем.

Кстати если у вас проблема с нехваткой видеопамяти поставьте в контролнете галочки на чекбоксах Low VRAM.

В итоге у нас на кладке 0. Должна быть поза. Препроцессор None. Модель - openpose. На вкладке 1 руки. Препроцессор None. Модель depth.

Генерирую.

И получаем, вот такой замечательный результат.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

Что? Не слишком замечательный?)) Это то что вам не покажут в других гайдах) Обычно в конце гайдов все круто и красиво?

Не во всех. Некоторые просто будто не замечают что вышло фигово. Это те которым надоело ролить в поисках нормального результата.

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

Вот это кто-то даже поставил себе на заставку в ютубе. Больших пальцев нет плюс слипшиеся и мини пальцы.

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

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

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

(да, я просто приделал руки к Т-позе, писать гайды выматывает )

Что можно сделать, чтобы избежать первого примера и иметь хотя бы второй?

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

- Следите за разрешением. Чем мельче будет объект тем выше должно быть его разрешение.

Разница между 768 и 512. На 512 мизинец вообще поломало:

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

- Идите от большего к меньшему. Я придерживаюсь этого когда, пишу промпт, так же работает и тут. В контролнете в нулевую вкладку закидывайте, позу, а во вторую уже руки. Ничего не работает параллельно. Тут все последовательно. Поэтому сначала тело, а потом руки к нему.

- Тоненькие анимешные пальчики могут не получиться с макета руки обычного человека

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

И если вы думаете что это всё. Нет не все =)

ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках Обучение, Stable Diffusion, Цифровой рисунок, Нейронные сети, Арты нейросетей, Урок, Искусственный интеллект, Digital, Гифка, Длиннопост

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

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

Больше гайдов на моем канале, подписывайтесь чтобы не пропустить:

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

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

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

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

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

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

Для начала становим расширение. Запустите автоматик, зайдите Extensions - Available - Нажмите кнопку Load from. Загрузятся расширения доступные к установке, найдите sd-webui-controlnet и нажмите Install. С расширением всё.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

Теперь нужно скачать модели и я походу объясню какая и зачем.

  • Модели. Есть полные версии, а так же их уменьшенные версии, заметной разницы в качестве я не обнаружил и пользуюсь уменьшенными так как SSD не резиновый.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

Можете скачать все со словом control в начале. Я в основном использую 3, это depth, openpose, hed, но так как весят не много и удобно иметь под рукой, имею все.

Препроцессоры:

У всех у них одна задача, получить тот или иной контур объекта, поза, линии, силуэт чтобы затем вы могли изменить картинку не отходя от этого самого контура, позы, силуэта. Так вот теперь вы можете забрать с нее только композицию и нарисовать по ней все что угодно. В разумных пределах конечно.

canny - обводит края тонкой линией, подходит для изображений с резкими краями, например аниме

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

hed - толстой размазанной, смягчая края

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

openpose - берет только позу людей кадре, никаких краёв, а значит можно менять например фигуру. Для всего

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

depth - маска глубины чем ближе к камере тем белее, для всего когда нужно получить объем сцены чтобы его сохранить

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

normal - карта объёма

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

scribble - создает каракули и может создавать что-то из каракуль

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

mlsd - работает с ровными прямыми линиями, хорош с помещениями, чтобы передать их геометрию ну и потом перерисовать конечно.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

seg- делит картинку на сегменты, затем пытается в тех же сегментах нарисовать те же объекты которые могут относиться к этому сегменту. Использовал я его примерно 0 раз, но кто знает…

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

После скачивания моделей поместите их по пути: ваша_папка_с_автоматиком\extensions\sd-webui-controlnet\models

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

После того как все сделали, полностью перезапустите стабильную диффузию.

Запускаем снова и смотрим вниз. Появилась вкладка ControlNet. Давайте сгенерируем что нибудь и сразу возьмем его позу для генерации чего-то другого.

Конечно же не обязательно генерировать. Вы можете поместить в окно контролнета любую фотографию которую хотите взять за основу.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

Ставлю галку на Enable, чтобы активировать расширение. Выбираю препроцесср Openpose модель тоже openpose.

Еще пример изображения в той же позе:

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

А теперь давайте разберемся с настройками. По крайней мере на дату выхода статьи , в мире нейросетей все очень быстро меняется.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

Enable - включить

Invert Input Color - инвертировать изображение. Бывает что вам понадобится черный контур на белом фоне, а ваша картинка имеет обратные цвета. Галка поможет

RGB to BGR - сменить компоновку пикселей. Видимо на матрицах BGR даст результат лучше, но я с такими дело не имел

Low VRAM - уменьшает требование к видеопамяти

Guess Mode - удалите промпт, контрол сам попробует понять что на картинке и повторить по своему. По мне фигня какая-то (на текущую дату)

Preprocessor - обработчик изображения которое вы скормили расширению. То есть openpose превращает изображение в позу. Из примера выше она выглядит вот так

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

Model - берет то что получила от препроцессора и обрабатывает.

Weight - как сильно контролнет будет влиять на композицию

Guidance Start (T) - когда вмешаться

Guidance End (T) - когда перестать

Диффузия получает изображение из шума, делает она это степами\шагами. Вы можете выбрать когда контрол нету влиять на очистку шума, а когда нет. Это уже чуть более продвинутая техника. Расскажу о ней в другой раз. В вкратце, если поставить 0 и 0.5 контрол будет контролировать общий силуэт до половины генераций, а дальше полностью отпустит вожжи и в дело вступит только диффузия.

Annotator Resolution - разрешение считывания, ставьте по самой короткой стороне вашей картинки, качество работы препроцессора должно стать лучше.

Threshold A\B - предназначены для очистки “мусора” на таких препроцессорах как canny например. Если у вас считывает что что вы не хотели бы или наоборот, поиграйте этими ползунками.

Оба максимум \ Оба минимум

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост
Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

С позами понятно. А остальные что?

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

Выбирайте препроцессор при принципу что вам важно взять с изображения? Только позу? Openpose. Силуэт? Depth. Нужно сохранить практически все грани, но переделать в другой стиль? Canny, hed.

На прощание нарисуем кролика:

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.) Обучение, Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Digital, 2D, Компьютерная графика, Искусственный интеллект, Гифка, Длиннопост

мой промпт: cartoon rabbit, ghibli

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

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

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

А на реддите все только и говорят о Noise Offset(e)

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

Дело в том что реддит трещит о нем уже неделю, а в нашем ру комьюнити почему-то все молчат как рыбы. Ну или я плохо смотрю. Исправляю.

Обозначим проблему. Вы знаете что вы не сможете вот щас пойти и сгенерировать очень темную или очень светлую картинку?

А на реддите все только и говорят о Noise Offset(e) Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Обучение, 2D, Digital, Рисунок, Персонажи, Длиннопост

pos: dark, darkness, night, no light, cave / neg: light, lighting, lights, sun

Уверен у кого-то из вас получится темнее, но вряд-ли вот настолько:

А на реддите все только и говорят о Noise Offset(e) Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Обучение, 2D, Digital, Рисунок, Персонажи, Длиннопост

Тот же промпт. И вводя его ты примерно вот это и хочешь увидеть.

Я не буду засыпать вас информацией как и почему такое произошло. Тем более что есть отличная статья которую вы можете прочитать сами вот тут.

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

Я лишь скажу что решение данной проблемы это Noise offset. Данная настройка уже добавлен в набор скриптов Kohya по которым у меня уже было раз, два гайда. И теперь при обучении можно его задавать, что помогает модели обучаться на всех длинах волн.

Самое простое решения для вас, сейчас такое. Скачать вот эту Лора и использовать. Картинка выше была полученная именно благодаря ей.

А на реддите все только и говорят о Noise Offset(e) Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Обучение, 2D, Digital, Рисунок, Персонажи, Длиннопост

Еще пара примеров от меня. На анатомию чур не смотреть. И под котелок тоже. Картинка, затем описание.

А на реддите все только и говорят о Noise Offset(e) Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Обучение, 2D, Digital, Рисунок, Персонажи, Длиннопост

Без лоры и указаний по свету

А на реддите все только и говорят о Noise Offset(e) Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Обучение, 2D, Digital, Рисунок, Персонажи, Длиннопост

С Лорой и без указания по свету

А на реддите все только и говорят о Noise Offset(e) Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Обучение, 2D, Digital, Рисунок, Персонажи, Длиннопост

С Лорой, указания по свету at night, dark, darkness

А на реддите все только и говорят о Noise Offset(e) Нейронные сети, Цифровой рисунок, Арты нейросетей, Stable Diffusion, Обучение, 2D, Digital, Рисунок, Персонажи, Длиннопост

Без Лоры, указания по свету at night, dark, darkness. Светлее чем днем .

Вот в общем-то и все. Ждем когда все больше моделей используют эту фишку и будет появляться все больше Лора.

Уже есть как минимум одна модель с данной фичей, но она создана на основе СД 2.1, а значит цензура

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

Больше гайдов на моем канале, подписывайтесь чтобы не пропустить. (реально больше, я сюда не все публикую)

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

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

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки

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

В прошлый раз я делал что-то вроде этого:

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Это расширение уже имеющейся статьи по обучению Лоры в гугл колабе. Я периодически буду ссылаться на нее. Полезно прочитать обе статьи. Все на примере Kohya ss.

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

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

Установка:

Зависимости:

Предоставляем доступ для оболочки PowerShell, чтобы она могла работать со скриптами:

  • Запустите PowerShell от имени администратора (ПКМ по значку Windows - Windows PowerShell administrator)

  • Запустите команду Set-ExecutionPolicy Unrestricted ответьте 'A'

  • Закройте PowerShell

Если в ходе выдачи доступа возникает ошибка в предоставлении этого самого доступа. Что-то вроде этого:

Оболочка Windows PowerShell успешно обновила вашу политику выполнения, но данный параметр переопределяется политикой, определенной в более конкретной области. В связи с переопределением оболочка сохранит текущую политику выполнения "Unrestricted". Для просмотра параметров политики выполнения введите "Get-ExecutionPolicy -List". Для получения дополнительных сведений введите "Get-Help Set-ExecutionPolicy".

Нажмите Win + R. Введите gpedit.msc. Энтер. Пройдите по пути как на скрине, дважды нажмите на “Включить выполнение сценариев”:

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Далее. Ставим включить. В политике выполнения выбираем “Разрешить все сценарии”.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Закройте PowerShell.

Перейдите в папку где вы хотели бы хранить файлы скрипта. Нажмите на путь и введите вместо него PowerShell. Энтер. Так мы будем выполнять скрипты из этой папки.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Скопируйте скрипт ниже и вставьте в ваш PowerShell. Энтер.

git clone https://github.com/bmaltais/kohya_ss.git

cd kohya_ss

python -m venv venv

.\venv\Scripts\activate

pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116

pip install --use-pep517 --upgrade -r requirements.txt

pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/rel...

cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\

cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py

cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py

accelerate config

Ждем пока не появится вот такая строка

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Нажмите энтер, начнется настройка. Что вам нужно выбирать написано на скрине ниже.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост
Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Выбираем цифрами. 0 - это первый пункт, 1 - второй и т.д. Либо будет предложено ввести yes или no.

Опциональный блок для владельцев карт 30\40 серии:

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

.\venv\Scripts\activate

python .\tools\cudann_1.8_install.py

На этом установка и настройка завершены. Если вы хотите обновить скрипты. То опять же. Запуск командной строки из папки со скриптами. Вставить. Энтер

git pull

.\venv\Scripts\activate

pip install --use-pep517 --upgrade -r requirements.txt

На этом вообще можно было бы и закончить и отправить вас читать версию для коллаба, но я продолжу

Тренируем:

Запустите оболочку через gui.bat

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

После запуска переходим на http://127.0.0.1:7860/?__theme=dark (ну или http://127.0.0.1:7861/?__theme=dark если был запущен автоматик)

Сразу переходим во вкладку Dreamboot LoRA. Тут нужно либо выбрать модель на вашем ПК нажав на белый листик и указав путь. Либо модель из списка. Она будет скачана скриптом.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

v2 - Ставите галку если тренируете на второй версии диффузии

v_parameterization - если на версии 2.1 с параметризацией то и эту

Save trained model as - в каком формате будет сохранена ваша модель. Для автоматика, на текущую дату, оставляйте safetensors.

После выбора модели идем на вкладку Folders. Я буду пробовать тренировать на Deliberate 2. Хотя обычно делаю это на SD 1.5.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Image folder - Тут указываем папку на ваш датасет, не прямо на картинки с описанием, а на папку, где эта самая папка лежит.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Как подготовить дата сет я писал в гайде по коллабу, так как эта инфа верна на 101% и для этого способа, чтобы не раздувать статью просто прочитайте часть про датасет в статье про колаб.

Output folder - папка куда будет сохранен файл модели

Regularisation folder - папка в регуляризационными фотографиями. Если кратко нужны, чтобы избавиться от стиля. Туда кладутся фотки без какой-то стилизации напоминающие то на что вы тренируете. Я ни разу не использовал. По идее если хотите натренировать на стилизованного персонажа можно выбрать туже папку с датасетом. Видел как так делают. Работает ли? Не знаю

Logging folder - укажите куда будут сохраняться логи.

Model output name - имя итогового файла модели. Только файла. К ключевому слову тригеру отношения не имеет. Тригер задается в датасете.

Training comment - просто комментарий который будет добавлен в метедату файла модели.

Идём на Training parameters:

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Lora type - что-то новенькое. Судя по репозиторию LoCon должен обучать модель более эффективно. Но сегодня без экспериментов. (Для меня. Вы конечно попробуйте и поделитесь результатом)

LoRA network weights - указать путь к уже существующей Лора, чтобы продолжить тренировку.

Caption extension - расширение файлов подсказки. Те самые которые должны лежать у вас рядом с картинками вашем датасете. у меня это “.txt”.

Train batch size - Оставляю 1. Эта настройка может ускорить обучение, но в тоже время это происходит из за того что сеть берет сразу несколько картинок и берет как бы среднее значение между ними. Логично что жрет VRAM так что у кого мало много не выкрутить.

Epoch - сколько эпох. Если просто это кол-во проходов по вашему датасету. Например, у вас два варианта. Оставить тут 1, а папку с датасетом назвать 100_keyword, тогда сеть пройдет по картинкам 100 раз. А можно назвать папку 10_keyword. Поставить 10 эпох. Значит сеть пройдет 10 раз по 10 в итоге снова 100. Но эпохи можно сохранять в разделе Save every N epochs. Поставив например 2. У вас в итоге получится 5 файлов Лора каждый из которых натренирован на разном количестве проходов. Это удобный способ избежать недотренированности\перетренированности, вы просто проверяете все файлы и оставляете лучший.

Mixed precision и Save_precision - точность. Все ставят fp16 и я ставлю. Хотя моя карта поддерживает bf16 и она вроде как точнее и потребляет меньше памяти, но я что-то меняю когда что-то не получается. А тут все получается.

Number of CPU threads per core - количество потоков на ядро. У меня два. У вас гуглите.

Learning rate scheduler - кривая обучения. Не уверен, что вы захотите это читать. Кратко, по какой кривой менять скорость обучения. Мне нравится constant. То есть, не меняется.

seed - хорошая идея его фиксировать для обучения. Потому что например вы сделали Лору, а она не ок. Как можно быть уверенным что просто не повезло с сидом? Такое бывает. Сид не лег на тренировку. Поэтому можно оставить тот же сид, но поменять параметры. Или наоборот, поменять сид не меняя параметры.

Learning rate - он перекрывается Юнит леарнинг рейтом. Не трогаю.

LR warmup (% of steps) - разминочные проходы на низкой скорости. Для константы ставлю 0

Cache latent - кэширует некоторые файлы, что ускоряет обучение

Text Encoder learning rate - управляет тем как ИИ понимает текстовые подсказки. Если ваша модель выдает слишком много нежелательных объектов(могла нахвататься с вашего дата сета) уменьшите это значение. Если наоборот объекты плохо проявляются. Увеличьте или вместо этого увеличьте количество шагов обучения. Стандартное значение 5e-5 что равно 0.00005. Его и оставлю.

Unet learning rate - что-то вроде памяти, имеет информацию о том как элементы взаимодействуют друг с другом. Первое куда стоит смотреть если обучение не получилось. Сначала рекомендую пройтись со стандартными параметрами и что-то крутить только когда вроде все должно было получиться, но не получилось. Если итоговая модель выдает визуальный шум вместо нормального изображения то значение слишком высокое. попробуйте слегка уменьшить и повторить. Тоже не трогаю

Network Rank (Dimension) - ****во первых это повлияет на итоговый размер вашего файла Лора, примерно 1 за 1 мегабайт. Во вторых чем выше значение тем выше выразительность вашего обучения. 128 как по мне является хорошим соотношением. Его оставляем, но если вашей итоговой модели этой самой выразительности не хватает попробуйте увеличить. Быстрая скорость обучения развязывает руки для экспериментов.

Network Alpha - во первых это значение должно быть ниже либо равным network_dim и нужно для предотвращения ошибок точности. Чем ниже значение тем сильнее замедляет обучение. Зачем замедлять обучение? Это точно в другой раз, иначе эта статья не кончится 😅. Я ставлю равным Network Rank (Dimension).

Max resolution - Максимальное разрешение

Stop text encoder training - когда остановить кодер. Никогда не использовал и не видел чтобы кто-то как-то применял.

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

Дополнительные настройки:

Flip augmentation - Если набор совсем маленький можно попробовать включить. Дополнительно создаст отраженные версии картинок

Clip skip - Нейросеть работает слоями. Эта цифра означает сколько последних слоев мы хотим пропустить, обычно она выбирает в зависимости от модели. Тут стоит два так как колаб был рассчитан на аниме модель. Чем раньше остановились тем меньше слоев нейросети обработали подсказку. Комментарий с вики: Некоторые модели были обучены с использованием такого рода настроек, поэтому установка этого значения помогает добиться лучших результатов на этих моделях. Я поставлю 1. Я не тренил на делиберейт и не знаю что тут на самом деле лучше.

Memory efficient attention - если не хватает памяти

Noise offset - Если коротко дает диффузии больше простора для внесения изменений. В основном влияет на яркость\затемненность картинки. Длинно тут. В прошлом гайде ставил 0, с того момента кое-что почитал, ставлю 0.1. Сможем делать более темные и светлые картинки чем по дефолту.

Resume from saved training state - если тренировка по какой-то причине была прервана тут вы можете ее продолжить. Чтобы такая возможность была, поставьте галку на Save training state.

Optimizer - В подробном объяснение будут такие слова как квантование, стохастические градиенты и так далее. Оставляем по умолчанию. Я видел тесты людей, и этот показывал себя хорошо. Думаю ничего не изменилось.

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

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Итоговые настройки у меня будут такие(дополнительные по умолчанию):

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост
Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Они зависят от того на чем и что тренируете, если что-то сработает для меня не значит что так же сработает и у вас.

Мой датасет выглядит вот так(выложил на своем бусти, 768х768). Он синтетический, то есть сгенерирован, я натренирую так чтобы бы это лицо я мог вызывать по желанию на разных моделях. Рекомендуется использовать 25-30 фотографий если речь о лице. Для стиля можно и 100, но их можно и не описывать. Посмотрим чего можно добиться с 8ю и с неидеально совпадающей внешностью.

Как видите моя версия файла настройки и название будущего файла Лора совпадает, рекомендую делать так же.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Колличество проходов по папке установлено в 20*5 эпох 100 проходов. Это по каждой картинке, а картинок у нас 8 итого получим 800 проходов. Для лица это нормальная цифра.

Процесс пошел:

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Через несколько минут наши лора готовы. У меня они сразу лежат где надо так как я указал сохранять их в папку с лора.

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Генерируем:

Rev Animated

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Я слишком долго его писал чтобы угодить в клубничку из за пары картинок 😅. Так парюсь будто этот пост соберет больш 20 плюсов 🤔

Deliberate:

Обучение модели с помощью LoRA (версия для десктопа). На примере датасета полученного из самой нейронки Обучение, Нейронные сети, Арты нейросетей, Stable Diffusion, Цифровой рисунок, Digital, 2D, Рисунок, Компьютерная графика, Искусственный интеллект, Длиннопост

Модели разные, а лицо одинаковое. Чтд. Идеальны ли они? Конечно нет. Перечислю ошибки которые вам лучше не допускать чтобы результаты были лучше.

Подход к датасету. У меня он синтетический(это не плохо, просто я не готовил его специально, а взял первое попавшееся), они не супер похожи, он очень маленький и так же важно то что разрешение было 512, а лица на фото мелкие, для лица лучше тренировать на фотографиях примерно от верхней части груди это самое близкое и по пояс самое далекое. (Примерно!).

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

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

Больше гайдов на моем канале, подписывайтесь чтобы не пропустить.

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

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

Спасаем генерацию за секунду

Бывало что картинка огонь, но вот веревочка не туда пошла? Хочется такую же картинку, но немного другую вариацию 🤔

Спасаем генерацию за секунду Нейронные сети, Stable Diffusion, Обучение, Арты нейросетей, Цифровой рисунок, Рисунок, 2D, Digital, Гифка, Длиннопост

Глаз заплыл, веревочка невнятная. Хочется вот то же самое, но без этих проблем и главное без инпента!

Примерно вот так:

Спасаем генерацию за секунду Нейронные сети, Stable Diffusion, Обучение, Арты нейросетей, Цифровой рисунок, Рисунок, 2D, Digital, Гифка, Длиннопост
Спасаем генерацию за секунду Нейронные сети, Stable Diffusion, Обучение, Арты нейросетей, Цифровой рисунок, Рисунок, 2D, Digital, Гифка, Длиннопост

Так как такое получить? А очень просто. Зафиксируйте сид. Добавьте в свой промпт бессмысленную информацию. Палочку, еще одну запятую, просто slkjdfs. Я использую "\", каждая палочка чуть другая картинка. Так что теперь можно не выбрасывать красивые генерации только из-за того что сложно или не хотите лезть в редактирование. Просто добавь палку 😏

Спасаем генерацию за секунду Нейронные сети, Stable Diffusion, Обучение, Арты нейросетей, Цифровой рисунок, Рисунок, 2D, Digital, Гифка, Длиннопост

Поделиться результатом или задать вопрос вы можете в нашем сообществе нейроманьяков. https://t.me/neuralphotoart_chat

Больше гайдов на моем канале. Подписывайтесь чтобы не пропустить:: https://t.me/neuralphotoart

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