**NB:**
У всех параметров и полей экстеншена есть тултипы с базовым объяснением того, что это, в шпаргалке ниже перечислены только те поля и настройки, которые я использую во время тренировки сам хотя бы иногда.
Перед тренировкой и после настроек лучше сохранить настройки, нажав **Save Settings** наверху, экстеншн предупреждает, если этот шаг был пропущен и предлагает это сделать автоматически, но у него не всегда получается.
### Создаем базовую модель для тренировки
#### **Dreambooth/Model/Create**

- Задаем имя, выбираем базовый чекпоинт, который будет скопирован как база (модель на которой будет трениться LORA)
- Нажимаем **Create Model**
---
### Настройки тренировки
#### **Dreambooth/Input/Settings/General**

- Выбираем **Use LORA**
- **Lora Extended** не отмечаем, потому что этот формат не поддерживается Автоматиком
#### **Dreambooth/Input/Settings/Intervals**

- **Training Steps Per Image (Epochs)** - сколько раз прогонять каждую картинку датасета, оно же - количество эпох (1 эпоха = количество полных прогонов всего датасета)
- **Save Model Frequency (Epochs)** - как часто сохранять LORA
- **Save Preview(s) Frequency (Epochs)** - как часто генерировать сэмплы
> Последние два параметра обычно выставляю в одинаковое значение, чтоб всегда был пример генерации и соответствующий чекпоинт.
#### **Dreambooth/Input/Settings/Batching**

- **Batch Size** - сколько картинок из датасета процессить за раз
- **Gradient Accumulation Steps** - как долго копить градиент
> Суммарный размер одного батча = **Batch Size * Gradient Accumulation Steps**
На общее количество шагов **ни одна из этих настроек не влияет**, если в **Training Steps Per Image (Epochs)** указано, что каждое изображение должно быть обработано 100 раз и в датасете 100 картинок - всего будет 10000 шагов.
При этом, при **Batch Size = 2**, каунтер будет тикать не по 1 шагу за раз, а по 2.
#### **Dreambooth/Input/Settings/Learning Rate**

> Дефолт настройки Learning rate работают для средних датасетов по 50-100 картинок, понижаю, если нужно выучить детали до сгорания модельки (конкретные татуировки на теле) или при тренировке на маленьких датасетах.
#### **Dreambooth/Input/Settings/Image Processing**

> Здесь можно выставить размер картинок датасета, если хочется тренить 768 - менять тут.
#### **Dreambooth/Input/Settings/Tuning**

- **Mixed Precision** - fp16
---
### Концепты для тренировки
#### **Dreambooth/Input/Concepts/Directories**
> У меня не работает, если они не генерируются непостредственно в процессе тренировки внутренними средствами, но должно быть легко пофиксить

- **Dataset Directory** - путь к папке с датасетом (абсолютно любое название папки!)
- **Classification Dataset Directory** - папка с регулязационками
#### **Dreambooth/Input/Concepts/Filewords**

- **Instance token** - токен, на который треним
- **Class Token** - базовый токен, с которого наследуемся
#### **Dreambooth/Input/Concepts/Training Prompts**
> Class Prompt используется так же для прегенерации регулязационных изображений, если заданы соответсвующие настройки.

- **Instance Prompt** и **Class Prompt** промпты для тренировки, **[filewords]** в полях будет заменено на теги из текстовых файлов рядом с датасетом. Сами файлы с разметкой - .txt с названием соответствующих картинок датасета.

#### **Dreambooth/Input/Concepts/Sample Prompts**

- **Sample Image Prompt** - промпт для генерации промежуточных изображений во время тренировки
- **Sample Negative Prompt** - лучше задать свой стандартный, чтоб примеры получались с как можно меньшим количеством косяков, проще оценивать качество трени визуально.
#### **Dreambooth/Input/Concepts/Class Image Generation**

> У меня изображения для регуляизации используются только в случае, если **Class Images Per Instance Image > 0**, но при этом, они будут сгенерированны в начале тренировки даже, если папка для них уже содержит изображения.
#### **Dreambooth/Input/Concepts/Sample Image Generation**
Настройки генерации семплов.
---
### Сохранение
> Здесь я убираю вообще все чекбоксы кроме тех, что в разделе Lora
#### Dreambooth/Input/Saving/Lora

- **Generate lora weights when saving during training.**
Сохранять непосредственно чекпоинт лоры каждые N шагов, согласно настройке из Settings/Intervals
- **Generate lora weights when training completes.**
Сохранять чекпоинт после завершения всех шагов
- **Generate lora weights when training is canceled.**
Сохранять чекпоинт на текущем шаге, при отмене тренировки
- **Generate lora weights for extra networks.**
**Важно** - сохранять чекпоинт в формате, который воспринимается автоматиком