Скидка 5% при первом запуске GPU по промокоду Активировать скидку

Датасет для обучения LoRA: изображения, разнообразие и проверка

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

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

Продумайте разнообразие

Цель обучения Что сохранять Что менять Типичная ошибка
Товар или предмет Форму, материал, характерные детали Ракурс, крупность, фон и освещение Все фото на одном столе, и стол становится частью концепта
Персонаж Узнаваемую внешность Позу, расстояние до камеры, одежду и окружение, когда это уместно Кадры из одного короткого видео вытесняют остальные ракурсы
Стиль иллюстраций Визуальный язык и способ изображения Предметы, композиции и сюжеты Адаптер запоминает конкретный объект вместо переносимого стиля

Для первого эксперимента удобно отобрать примерно 20–40 изображений. Это ориентир для подготовки, а не технический минимум и не гарантия качества. Если хороших кадров меньше, используйте их, но ожидайте более узкого результата. Добивать количество слабыми дублями не нужно.

Отделите обучение от проверки

Несколько отличающихся референсов положите в отдельную папку holdout. Не распределяйте почти одинаковые кадры по обеим частям. Отложенные изображения нужны для визуальной проверки новых ракурсов; готовый TOML не загружает папку holdout и не считает validation loss.

Для каждой семьи моделей создайте собственную плоскую папку обучения:

/workspace/lora/
  sdxl/
    images/
      mug_001.png
      mug_001.txt
      mug_002.jpg
      mug_002.txt
    holdout/
  flux1-dev/
    images/
    holdout/

Имена пар должны совпадать, включая регистр в Linux. Не оставляйте одновременно mug_001.png и mug_001.jpg: у них будет одна подпись, возможен и конфликт кэша. Давайте разные имена. Внутри images не должно быть вложенных папок и проверочных изображений.

Проверьте сами изображения

Откройте каждый файл в полном размере. Уберите повреждённые кадры, сильные артефакты сжатия, ненужные водяные знаки и изображения с неверными деталями объекта. Заранее разберитесь с EXIF-поворотом, прозрачностью и преобразованием цвета. Нетронутые оригиналы храните отдельно.

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

В примере SDXL целевое разрешение — 1024 × 1024, в эксперименте FLUX — 768 × 768. Это параметры обучения, а не требование увеличить каждый исходник до такого размера. Апскейл не восстанавливает отсутствующие детали. Сохраните решения по кадрированию для следующих запусков.

Проверьте папку до долгого обучения

Скачайте check-dataset.py в /workspace/lora/config/. Запустите его в Python-окружении из руководства по обучению:

python /workspace/lora/config/check-dataset.py /workspace/lora/sdxl/images

Для FLUX укажите /workspace/lora/flux1-dev/images. Скрипт открывает изображения через Pillow и проверяет UTF-8-подписи. Отсутствующие или пустые подписи, повреждённые файлы, неоднозначные имена и вложенные папки приводят к коду завершения 1. Побайтовые дубликаты, малый размер, ориентация и цветовой режим выводятся как предупреждения для ручной проверки.

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

Кэш — часть конкретного эксперимента

Trainer может сохранять latent- и text-embedding-кэш рядом с изображениями. Держите копии SDXL и FLUX раздельно. Перед сменой базы, подписей, разрешения или обработки создайте новую папку из исходных пар изображение–подпись и обновите dataset config. Старые .npz туда не копируйте.

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

Далее: подписи, затем обучение SDXL или FLUX.1 dev. Все руководства по LoRA.

Источник: конфигурация датасета sd-scripts.

Готовы запустить?

Запустить GPU-сервер