Пример промта для модели Anything3 (подходит так же для всех моделей на её базе, напр. OrangeMix) Promt: >masterpiece, best quality, 1girl, solo, small breasts, flat chest, green eyes, green hair, lips, looking at viewer, sitting in park Bad promt: >lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry
Не забывай смотреть на рекомендации к составлению промптов для своей модели.
Оптимизации для современных ПК https://rentry.org/sd_performance - мастхев для владельцев 40XX поколения; для 20XX-30XX прирост производительности менее существенен
ИТТ делимся советами, лайфхаками, наблюдениями, результатами обучения, обсуждаем внутреннее устройство диффузионных моделей, собираем датасеты, решаем проблемы и экспериментируем Тред общенаправленныей, тренировка дедов, лупоглазых и фуррей приветствуются
Предыдущий тред: >>#############
➤ Гайды по обучению
Существующую модель можно обучить симулировать определенный стиль или рисовать конкретного персонажа.
✱ Текстуальная инверсия (Textual inversion) может подойти, если сеть уже умеет рисовать что-то похожее: https://rentry.org/textard (англ.)
✱ Гиперсеть (Hypernetwork) может подойти, если она этого делать не умеет; позволяет добавить более существенные изменения в существующую модель, но тренируется медленнее: https://rentry.org/hypernetwork4dumdums (англ.)
✱ LyCORIS (Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion) - это проект по созданию алгоритма для более эффективного дообучения SD. Ранее носил название LoCon. В настоящий момент включает в себя алгоритмы LoCon, LoHa, LoKr и DyLoRA: https://github.com/KohakuBlueleaf/LyCORIS
✱ LoCon (LoRA for Convolution layer) - тренирует дополнительные слои в UNet. Теоретически должен давать лучший результат тренировки по сравнению с LoRA, меньше вероятность перетренировки и большая вариативность при генерации. Тренируется примерно в два раза медленнее чистой LoRA, требует меньший параметр network_dim, поэтому размер выходного файла меньше.
✱ LoHa (LoRA with Hadamard Product representation) - тренировка с использованием алгоритма произведения Адамара. Теоретически должен давать лучший результат при тренировках с датасетом в котором будет и персонаж и стилистика одновременно.
✱ LoKr (LoRA with Kronecker product representation) - тренировка с использованием алгоритма произведения Кронекера. Алгоритм довольно чувствителен к learning_rate, так что требуется его тонкая подгонка. Из плюсов - очень маленький размер выходного файла (auto factor: 900~2500KB), из минусов - слабая переносимость между моделями.
✱ DyLoRA (Dynamic Search-Free LoRA) - по сути та же LoRA, только теперь в выходном файле размер ранга (network_dim) не фиксирован максимальным, а может принимать кратные промежуточные значения. После обучения на выходе будет один многоранговый файл модели, который можно разбить на отдельные одноранговые. Количество рангов указывается параметром --network_args "unit=x", т.е. допустим если network_dim=128, network_args "unit=4", то в выходном файле будут ранги 32,64,96,128. По заявлению разработчиков алгоритма, обучение одного многорангового файла в 4-7 раз быстрее, чем учить их по отдельности.
Оптимизации для современных ПК: https://rentry.org/sd_performance - мастхев для владельцев 40XX поколения; для 20XX-30XX прирост производительности менее существенен
Использование коллабов является небезопасным с точки зрения конфедициальности. Если вы используете чужой блокнот, исходите из предположения, что автор данного блокнота может собирать о вас такую информацию как: IP-адрес, фингерпринт браузера, ваши промпты и итоговые генерации.
Достоверно известно, что владелец самого популярного коллаба в треде собирает, как минимум, часть данной информации.
Использование коллабов является небезопасным с точки зрения конфиденциальности. Если вы используете чужой блокнот, исходите из предположения, что автор данного блокнота может собирать о вас такую информацию как: IP-адрес, фингерпринт браузера, ваши промпты и итоговые генерации.
Достоверно известно, что владелец самого популярного коллаба в треде собирает, как минимум, часть данной информации.
https://github.com/vladmandic/automatic/discussions/1285 - драйвера NVidia версии выше 531 (как минимум 532 и 535) используют Shared Memory (фактически, речь идёт про обычную RAM) после исчерпания VRAM, что позволяет избежать ошибок рода Out Of Memory. Цена этого - резкое снижение производительности (вплоть до x10-50 раз) при исчерпании VRAM. При переполнении VRAM, память возвращается в норму только после перезапуска WebUI - простой перезапуск генерации не поможет.
Использование коллабов является небезопасным с точки зрения конфиденциальности. Если вы используете чужой блокнот, исходите из предположения, что автор данного блокнота может собирать о вас такую информацию как: IP-адрес, фингерпринт браузера, ваши промпты и итоговые генерации.
Достоверно известно, что владелец самого популярного коллаба в треде собирает, как минимум, часть данной информации.
Драйвера NVidia версии выше 531 (как минимум 532 и 535) используют Shared Memory (фактически, речь идёт про обычную RAM) после исчерпания VRAM, что позволяет избежать ошибок рода Out Of Memory. Цена этого - резкое снижение производительности (вплоть до x10-50 раз) при исчерпании VRAM. При переполнении VRAM, память возвращается в норму только после перезапуска WebUI - простой перезапуск генерации не поможет. Подробнее: https://github.com/vladmandic/automatic/discussions/1285
Использование коллабов является небезопасным с точки зрения конфиденциальности. Если вы используете чужой блокнот, исходите из предположения, что автор данного блокнота может собирать о вас такую информацию как: IP-адрес, фингерпринт браузера, ваши промпты и итоговые генерации.
Достоверно известно, что владелец самого популярного коллаба в треде собирает, как минимум, часть данной информации.
Драйвера NVidia версии выше 531 (как минимум 532 и 535) используют Shared Memory (фактически, речь идёт про обычную RAM) после исчерпания VRAM, что позволяет избежать ошибок рода Out Of Memory. Цена этого - резкое снижение производительности (вплоть до x10-50 раз) при исчерпании VRAM. При переполнении VRAM, память возвращается в норму только после перезапуска WebUI - простой перезапуск генерации не поможет. Подробнее: https://github.com/vladmandic/automatic/discussions/1285
Если вы используете скрипты https://github.com/kohya-ss/sd-scripts напрямую, то, для обучения SDXL, вам необходимо переключиться на ветку "sdxl" и обновить зависимости. Эта операция может привести к проблемам совместимости, так что, желательно, делать отдельную установку для обучения SDXL и используовать отдельную venv-среду. Скрипты для тренировки SDXL имеют в имени файла префикс sdxl_.
Всё пока сырое и имеет проблемы с совместимостью, только для самых нетерпеливых. Требования к системе для обучения SDXL выше, чем для обучения SD 1.x.
➤ Гайды по обучению
Существующую модель можно обучить симулировать определенный стиль или рисовать конкретного персонажа.
✱ Текстуальная инверсия (Textual inversion) может подойти, если сеть уже умеет рисовать что-то похожее: https://rentry.org/textard (англ.)
✱ Гиперсеть (Hypernetwork) может подойти, если она этого делать не умеет; позволяет добавить более существенные изменения в существующую модель, но тренируется медленнее: https://rentry.org/hypernetwork4dumdums (англ.)
✱ LyCORIS (Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion) - это проект по созданию алгоритма для более эффективного дообучения SD. Ранее носил название LoCon. В настоящий момент включает в себя алгоритмы LoCon, LoHa, LoKr и DyLoRA: https://github.com/KohakuBlueleaf/LyCORIS
✱ LoCon (LoRA for Convolution layer) - тренирует дополнительные слои в UNet. Теоретически должен давать лучший результат тренировки по сравнению с LoRA, меньше вероятность перетренировки и большая вариативность при генерации. Тренируется примерно в два раза медленнее чистой LoRA, требует меньший параметр network_dim, поэтому размер выходного файла меньше.
✱ LoHa (LoRA with Hadamard Product representation) - тренировка с использованием алгоритма произведения Адамара. Теоретически должен давать лучший результат при тренировках с датасетом в котором будет и персонаж и стилистика одновременно.
✱ LoKr (LoRA with Kronecker product representation) - тренировка с использованием алгоритма произведения Кронекера. Алгоритм довольно чувствителен к learning_rate, так что требуется его тонкая подгонка. Из плюсов - очень маленький размер выходного файла (auto factor: 900~2500KB), из минусов - слабая переносимость между моделями.
✱ DyLoRA (Dynamic Search-Free LoRA) - по сути та же LoRA, только теперь в выходном файле размер ранга (network_dim) не фиксирован максимальным, а может принимать кратные промежуточные значения. После обучения на выходе будет один многоранговый файл модели, который можно разбить на отдельные одноранговые. Количество рангов указывается параметром --network_args "unit=x", т.е. допустим если network_dim=128, network_args "unit=4", то в выходном файле будут ранги 32,64,96,128. По заявлению разработчиков алгоритма, обучение одного многорангового файла в 4-7 раз быстрее, чем учить их по отдельности.
Если вы используете скрипты https://github.com/kohya-ss/sd-scripts напрямую, то, для обучения SDXL, вам необходимо переключиться на ветку "sdxl" и обновить зависимости. Эта операция может привести к проблемам совместимости, так что, желательно, делать отдельную установку для обучения SDXL и используовать отдельную venv-среду. Скрипты для тренировки SDXL имеют в имени файла префикс sdxl_.
Всё пока сырое и имеет проблемы с совместимостью, только для самых нетерпеливых. Требования к системе для обучения SDXL выше, чем для обучения SD 1.x.
➤ Гайды по обучению
Существующую модель можно обучить симулировать определенный стиль или рисовать конкретного персонажа.
✱ Текстуальная инверсия (Textual inversion) может подойти, если сеть уже умеет рисовать что-то похожее: https://rentry.org/textard (англ.)
✱ Гиперсеть (Hypernetwork) может подойти, если она этого делать не умеет; позволяет добавить более существенные изменения в существующую модель, но тренируется медленнее: https://rentry.org/hypernetwork4dumdums (англ.)
✱ LyCORIS (Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion) - это проект по созданию алгоритма для более эффективного дообучения SD. Ранее носил название LoCon. В настоящий момент включает в себя алгоритмы LoCon, LoHa, LoKr и DyLoRA: https://github.com/KohakuBlueleaf/LyCORIS
✱ LoCon (LoRA for Convolution layer) - тренирует дополнительные слои в UNet. Теоретически должен давать лучший результат тренировки по сравнению с LoRA, меньше вероятность перетренировки и большая вариативность при генерации. Тренируется примерно в два раза медленнее чистой LoRA, требует меньший параметр network_dim, поэтому размер выходного файла меньше.
✱ LoHa (LoRA with Hadamard Product representation) - тренировка с использованием алгоритма произведения Адамара. Теоретически должен давать лучший результат при тренировках с датасетом в котором будет и персонаж и стилистика одновременно.
✱ LoKr (LoRA with Kronecker product representation) - тренировка с использованием алгоритма произведения Кронекера. Алгоритм довольно чувствителен к learning_rate, так что требуется его тонкая подгонка. Из плюсов - очень маленький размер выходного файла (auto factor: 900~2500KB), из минусов - слабая переносимость между моделями.
✱ DyLoRA (Dynamic Search-Free LoRA) - по сути та же LoRA, только теперь в выходном файле размер ранга (network_dim) не фиксирован максимальным, а может принимать кратные промежуточные значения. После обучения на выходе будет один многоранговый файл модели, который можно разбить на отдельные одноранговые. Количество рангов указывается параметром --network_args "unit=x", т.е. допустим если network_dim=128, network_args "unit=4", то в выходном файле будут ранги 32,64,96,128. По заявлению разработчиков алгоритма, обучение одного многорангового файла в 4-7 раз быстрее, чем учить их по отдельности.