Отличным применением Stable Diffusion является обучение собственной модели. Поскольку это программное обеспечение с открытым исходным кодом, сообщество разработало для этого простые в использовании инструменты.
Обучение моделей LoRA — разумная альтернатива моделям контрольных точек. Этот способ менее эффективен, чем методы обучения всей модели - такие, как Dreambooth или точная настройка. Но модели LoRA имеют важное преимущество - они небольшие. Вы можете хранить много моделей, не заполняя локальное хранилище.
В этой статье вы узнаете, как обучать собственные модели LoRA с помощью блокнота Google Colab.
Это руководство предназначено для обучения модели Stable Diffusion v1 LoRA или LyCORIS .
Тренировка модели LoRA
Шаг 1. Сбор обучающих изображений
Соберите не менее 15 обучающих изображений, например, портреты Энди Лау.
Поиск изображений Google — хороший способ сбора изображений.
Если изображения с разным соотношением сторон, обязательно включите параметр группирования при обучении, который сортирует изображения по разным соотношениям сторон во время обучения.
Выбирайте изображения размером не менее 512×512 пикселей, формат PNG или JPEG .
Шаг 2. Загрузка изображений на Google Диск
Откройте блокнот тренера LoRA. Сохраните обучающие изображения на своем Google Диске, чтобы тренер LoRA мог получить к ним доступ. Используйте учебную тетрадь LoRA для загрузки обучающих изображений.
Вот некоторые данные, которые следует просмотреть перед запуском ячейки.
Папка_проекта: папка на Google Диске, содержащая все обучающие изображения и подписи. Используйте несуществующее имя папки.
dataset_name: имя набора данных.
Number_of_epoches: сколько раз каждое изображение будет использоваться для обучения.
Lora_output_path: папка на Google Диске, в которой будет сохранен файл Lora.
Запустите эту ячейку, нажав кнопку «Воспроизвести» слева. Он попросит вас подключиться к вашему Google Диску.
Нажмите «Выбрать файлы» и выберите тренировочные изображения.
Когда это будет сделано, вы должны увидеть сообщение о том, что изображения были успешно загружены.
В списке указаны три пути к папкам. Они понадобятся позже.
Теперь перейдите на свой Google Диск . Изображения должны быть загружены в раздел «Мой диск» > AI_PICS > Training > AndyLau > 100_AndyLau .
Это должно выглядеть, как на скриншоте:
Перед загрузкой нового набора изображений измените название проекта на другое.
Шаг 3. Создание подписи
Вам необходимо подписать каждое изображение. Это должен быть текстовый файл с тем же именем, что и изображение, содержащее подпись.
Можно генерировать подписи автоматически с помощью тренера LoRA.
Запуск тренера LoRA
Идите в клетку Train Lora. Проверьте имя пользователя и пароль. Они понадобятся вам после запуска графического интерфейса.
Запустите блокнот, нажав кнопку «Воспроизвести» в ячейке тренера Лора .
Загрузка займет некоторое время. Все будет готово, когда вы увидите ссылку Gradio.live .
Должна открыться новая вкладка с графическим интерфейсом Kohya_ss.
Перейдите на страницу «Утилиты» . Выберите вкладку «Субтитры» , а затем подвкладку «Субтитры BLIP» .
Путь к изображению
Вы можете найти папку с изображениями для подписи на распечатке первой ячейки после загрузки изображений.
/content/drive/MyDrive/AI_PICS/training/AndyLau/100_AndyLau
Другие настройки
Автоматическая подпись иногда может быть слишком короткой. Установите минимальную длину на 20.
Начать автоматические субтитры
Нажмите кнопку «Изображения подписей» , чтобы автоматически создать подпись для каждого изображения.
Проверьте статус блокнота Google Colab. Должна быть запущена модель субтитров. Когда субтитры будут завершены, вы увидите сообщение «Субтитры готовы».
Редактирование подписей
Следует прочитать и отредактировать каждую подпись, чтобы она соответствовала изображениям. Также нужно добавить фразу «Энди Лау» к каждой подписи.
Это лучше сделать на своей странице Google Диска. Вы увидите текстовые файлы с одинаковым именем, созданные для каждого изображения.
Пример автоматически созданной подписи к первому изображению:
Мужчина в черной куртке курит сигарету перед огороженным зданием.
Нам нужно включить ключевое слово Энди Лау.
Энди Лау в черной куртке курит сигарету перед огороженным зданием
Используйте функцию «Открыть с помощью …», чтобы использовать свой любимый редактор для внесения изменений. Стандартный вариант должен работать, даже если он запускается локально на вашем компьютере. Сохраните изменения. Возможно, вам придется обновить страницу Google Диска, чтобы увидеть изменения.
Когда вы закончите, просмотрите текстовые файлы еще раз, чтобы убедиться, что все они включают в себя «Энди Лау». Это важно.
Шаг 4. Обучение LoRA
В графическом интерфейсе Kohya_ss перейдите на страницу LoRA. Выберите вкладку «Обучение», подвкладку «Исходная модель». Просмотрите модель в разделе «Быстрый выбор модели» .
Папки
Теперь переключитесь на подвкладку «Папки».
В поле Папка изображения введите папку, содержащую папку изображения. Вы можете скопировать путь из папки Lora Image в распечатку после загрузки изображений.
/content/drive/MyDrive/AI_PICS/training/AndyLau
В поле «Папка вывода» введите местоположение, в котором вы хотите сохранить файл LoRA. Вы можете скопировать путь из выходной папки Lora в распечатку после загрузки изображений.
Местоположением по умолчанию является папка Lora записной книжки Stable Diffusion , поэтому ее можно напрямую использовать в веб-интерфейсе.
/content/drive/MyDrive/AI_PICS/Lora
Наконец, укажите имя LoRA в поле Выходное имя модели .
AnyLau100
Параметры
Теперь перейдите на подвкладку «Параметры» . Если вы только начали обучение моделей LoRA, лучше всего использовать предустановку . Выберите sd15-EDG_LoraOptiSettingsдля обучения стандартный LoRA.
Существуют пресеты для разных типов LyCORIS, которые являются более мощными версиями LoRA. Дополнительную информацию см. в руководстве по LyCORIS .
Наконец, графический процессор T4 в Colab не поддерживает точность смешивания bp16.
- Измените «Смешанную точность» и «Сохранить точность» на fp16 .
- Измените Оптимизатор на AdamW .
Начни тренироваться!
Теперь все на месте. Прокрутите вниз и нажмите «Начать обучение» , чтобы начать процесс обучения.
Проверьте прогресс на странице Блокнота Colab. Это займет некоторое время.
Это нормально, показывать некоторые предупреждения. Обучение завершается неудачей, когда обнаруживается ошибка.
При успешном завершении вы увидите, что прогресс составляет 100%. Значение потери должно быть числом, а не наном.
Использование LoRA
Если сохранить LoRA в папке вывода по умолчанию ( AI_PICS/Lora), то можно легко использовать блокнот Stable Diffusion Colab для его загрузки.
Откройте веб-интерфейс AUTOMATIC1111 Stable Diffusion в Google Colab. Нажмите кнопку «Дополнительные сети» под кнопкой «Создать». Выберите вкладку Lora и щелкните только что созданный LoRA.
Вот подсказка:
Энди Лау в костюме, в полный рост <lora:AndyLau100:1>
Отрицательная подсказка:
уродливый, деформированный, nsfw, изуродованный
Поскольку в подписи к тренировке мы использовали фразу «Энди Лау», она понадобится вам в подсказке, чтобы она вступила в силу.
Хотя LoRA обучена на модели Stable Diffusion v1.5, он так же хорошо работает с моделью Realistic Vision v2.
Вот результаты Энди Лау LoRA .
Примечания
Это пошаговое руководство покажет вам, как тренировать LoRA . Вы можете выбрать другие пресеты для обучения LyCORIS .
Важными параметрами в обучении являются:
- Ранг сети: размер LoRA. Чем выше, тем больше информации может хранить LoRA.
- Сеть альфа: параметр, предотвращающий обвал веса до нуля во время тренировки. Увеличение его увеличивает эффект. Конечный эффект контролируется альфа сети, разделенной на ранг сети. (Справочное значение: 64)
Проверка веса LoRA (<lora:AndyLau100:weight>) при использовании LoRA. Иногда 1 может быть не оптимальным значением.
Полезные ссылки
Параметры обучения LoRA — авторитетный справочник параметров обучения.
НАУЧИТЕСЬ ДЕЛАТЬ LoRA – графическое руководство по обучению LoRA.
Документация kohya_ss — английский перевод руководства kohya_ss.
_________________________________________________
P.S. Приглашение на Мастер-Классы по изучению Топовых Нейросетей, где Вас ждут Бонусы и Подарки: