
Тоска по питерскому небу
Я родилась в Петербурге, и, сколько бы не путешествовала, всегда по нему скучаю. Особенно, как ни странно, по его небу.
Когда же я дома, в Питере, я часто фотографирую небо. Но недавно я переехала в новую квартиру, из которой неба совсем не видно — все перекрывают соседние многоэтажки. Эта тоска по небу напомнила мне и о том, как я скучаю по нему в поездках.
Поэтому я решила, что, вместо того чтобы пересматривать старые фотографии, я возьму их за основу и создам себе новые, даже иногда не имея возможности их сделать самой.
Этапы работы
Сначала я залезла в фото-альбом на телефоне и нашла там фотографии с небом.

Потом я обрезала их в одинаковом формате (к сожалению, пришлось выбрать небольшое), выделяя только небо, и собрала в один фото-архив.
Далее я навела порядок в папках Google Driv’a, создала те, которые мне будут нужны и закинула новый архив в папку «dataset».
Приступила к обучению модели! Для начала установила нужные для работы с LoRA библиотеки, подключила модули и Google drive. Создала единый словарь для основных параметров. На всякий случай еще раз привела все изображения к единому формату. Установила устройства, провела пути к папкам, настроила поиск в этих папках.
Финал-обучение! Ввела self._captions — список простых «подпись/промпт»-меток, из которых будет случайно выбрана одна строка для обучения (это используется как текстовое условие при обучении LoRA). И сохранила обученную модель на диск.
Потом я приступила уже к генерации: собрала все ключевые настройки в одном месте и проверила GPN, подключила Google drive, чтобы скрипт опять все нашел и не потерялся. Далее подключила предобученную модель Stable Diffusion, подключила недавно обученную LoRA, добавила промты.
Наступило время генерации! Проверила наличие папки, ввела «start time» для подсчета времени, цикл (for idx in range (config[«num_images»])) для повторения генерации, подключила рандомный выбор промтов из списка, сформировала speed для каждого изображения, уточнила параметры генерации и сохранила все это дело в нужную папочку.
Что получилось в результате генерации?
В результате у меня «на руках» оказалось 30 сгенерированных картинок. Часть из них оказалась очень даже похожей на референсы: картинки получились яркими, с большим количеством цветных отливов на облаках. Немного гиперболизированно ярко, но мне кажется, что на них, сквозь облака и листья, проглядывается хитрый дух питера и его дачных, заливных окрестностей.


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


Одна генирация получилась совсем уж не питерской. И хоть небо там похоже на референсное (на что, в конечном итоге, и был направлен проект), огромная пальма испортила весь вид.
Формальности
В своей работе над проектом я использовала ChatGPT.com, чтобы вводить в код элементы, которые будут его обезопашивать, которые создадут дополнительные подстраховки и помогут луше ориентироваться, что сейчас обрабатывает компьютер (через «print» я отслеживала на каком этапе сейчас программа.
Чат так же помог мне с дополнительными промтами и при разработки идеи: он консультировал меня о возможностях модели и о юридически-моральных правилах, которые не позволили мне сделать проект, посвященный моим детским фотографиям (ибо нельзя генерировать изображение реального ребенка, даже самого себя. Ну, или, по крайней мере, так сказал мне чат).
Папка со всем-всем-всем: https://drive.google.com/drive/folders/1p1W3b1mCHzNk4_QhaijxQNyFHUwHBSK9?usp=sharing