Дримбут для чайников

Дримбут для чайников

Dreambooth

Подтоговка датасета

Соберите достаточно разнообразных картинок (15-100 штук). Если это субъект, то подберите такие, где на большинстве кадров он везде узнаваем, но запечатлен с разных ракурсов, при разном освещении. Если это стиль, то подберите как можно более характерные изображения. Само разделение субъектов/стилей условно. Все изображения должны быть квадратными и быть точного размера 512х512. Прозрачные пиксели заменяются на черный цвет, поэтому желательно самостоятельно задать фон. Обрезать изображения под нужный размер можно на birme.net


Колаб для обучения

https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast-DreamBooth.ipynb

Зайдите в свой аккаунт гугла и убедитесь, что на Google Drive есть хотя бы 5ГБ свободного места.

Запустите первые две ячейки, подтвердите подключение к Google Drive.


Выбор модели

Если не понятно какую брать - выбирайте 1.5 и в поле Huggingface_Token впишите токен с этой страницы и запускайте ячейку (токен создается в settings - access tokens - new token - name: *any*, role: write).

Альтернативно, можно указать ссылку на любую другую модель. Возьмем за пример модель Arcane Diffusion. Для загрузки нужно сделать одно из действий:

в поле Path_to_HuggingFace указать путь к модели: nitrosocke/Arcane-Diffusion (имя_автора/название_модели)
в поле CKPT_Path указать путь к модели в рамках колаба и связанного GDrive (пример, /content/gdrive/MyDrive/Fast-Dreambooth/mycat/mycat.ckpt)
любую прямую ссылку на .ckpt файл в поле CKPT_Link

В случае возникновения ошибок, включите compatibility mode. Чаще всего они возникают при попытке подгрузки модели NovelAI.


Имя сессии

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


Вернитесь к файлам на компьютере и переименуйте их так, чтобы они назывались myconcept (1).png, где myconcept - это то ключевое слово по которому будет вызываться ваш концепт при работе с моделью (желательно называть одним словом). Это делается простым выделением всех файлов и нажатием кнопки Переименовать на одном из них, цифры проставятся сами.

Теперь вернитесь в колаб и нажмите на иконку папки слева. В появившемся меню создайте новую папку и щелкните правой кнопкой по ней - загрузить, выберите все подготовленные файлы и дождитесь загрузки. Щелчок правой кнопкой по папке - Cкопировать путь и вставьте его в поле IMAGES_FOLDER_OPTIONAL. Запустите ячейку.

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

Ниже укажите сколько будет тренироваться энкодер. От него будет зависеть как сильно будет влиять ваш токен на результат. Обычно, для портретов неплохо подходит значение 40, но здесь вам придется экспериментировать. Если хотите сохранить промежуточные модели (допустим, на 500 и 1500 шагах), то можете указать это в оставшихся полях и запускать ячейку. Обучение займет меньше часа, а все файлы сохранятся на Google Drive в папке Fast-Dreambooth. После этого сразу же можно будет перейти к тесту модели.


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

Дообучение модели

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

В случае, если дообучение происходит после перезапуска колаба, то нужно повторно запустить все те же ячейки кроме Model Download и Instance Images, а в ячейке Create/Load a Session необходимо будет указать имя старой сессии.

Повторный запуск модели после обучения

Пример папки модели

Запустите первые две ячейки колаба, перейдите к ячейке Test The Trained Model, впишите имя сессии (идентично названию папки в Fast-Dreambooth/Sessions) и запускайте.


Report Page