Исходный размер 343x509

Архитектура Рима // Обучение генеративной нейросети Stable Diffusion

Идея проекта

Обучить генеративную модель (Stable Diffusion с дообучением LoRA) на целевом датасете с изображениями архитектуры Рима, чтобы нейросеть умела по текстовому описанию фотографически воссоздавать сцены с узнаваемыми римскими объектами и характерной визуальной средой.

Исходные изображения

0

Примеры исходных изображений

Процесс обучения

Исходный размер 1526x556

Импорт необходимых библиотек

Исходный размер 1514x108

Подключение Google Drive для доступа к датасету и сохранения результатов

Исходный размер 1484x650

Задание основных параметров обучения: пути, размер изображений, количество шагов, устройство, тип данных

Исходный размер 1516x138

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

Исходный размер 1506x190

Поиск и сбор всех изображений в папке с датасетом

Исходный размер 1498x742

Создание собственного датасета: загрузка изображений, изменение размера и добавление текстовых подписей

Исходный размер 1514x132

Подготовка данных к обучению через DataLoader

Исходный размер 1510x414

Загрузка модели Stable Diffusion и перевод UNet в режим обучения

Исходный размер 1504x218

Добавление адаптеров LoRA в слои внимания модели для дообучения стиля

Исходный размер 1508x96

Выбор оптимизатора AdamW для обновления параметров LoRA

Основной цикл обучения:

for epoch in range (Config.EPOCHS): for batch in tqdm (dl): pixel_values = batch[«pixel_values»].to (Config.DEVICE) latents = pipe.vae.encode (pixel_values).latent_dist.sample () * 0.18215 text_embeddings = pipe.text_encoder ( pipe.tokenizer (batch[«caption»], return_tensors="pt», padding=True).input_ids.to (Config.DEVICE) )[0] noise = torch.randn_like (latents) timesteps = torch.randint (0, pipe.scheduler.config.num_train_timesteps, (latents.shape[0],), device=Config.DEVICE) noisy_latents = pipe.scheduler.add_noise (latents, noise, timesteps) model_pred = unet (noisy_latents, timesteps, encoder_hidden_states=text_embeddings).sample loss = nn.functional.mse_loss (model_pred.float (), noise.float ()) optimizer.zero_grad () loss.backward () optimizer.step ()

Исходный размер 1512x92

Сохранение финальных весов LoRA для последующего использования при генерации изображений

Исходный размер 1504x486

Загрузка базовой модели Stable Diffusion 1.5 и подключение обученных LoRA-весов для генерации в нужном стиле

Исходный размер 1486x720

Случайный выбор промпта, создание изображения, сохранение файла с отметкой времени

Промпты:

«A breathtaking view of the Roman Forum at dawn, sun rays lighting up the ruins, high realism, 8k quality»,

«The majestic Colosseum standing tall under a clear sky, sharp contrast of light and shadow, realistic architecture»,

«A busy street in modern Rome with a mix of classic architecture and scooters, cinematic urban photography»,

«The Vatican at sunset, St. Peter’s Basilica illuminated with soft golden light, detailed historical buildings»,

«A stunning aerial view of Rome’s ancient ruins blending into the modern cityscape, ultra-detailed textures»,

«The Pantheon’s iconic oculus casting beams of light onto the floor, intricate detailing, ancient Roman architecture»

Итоговые изображения

0
0

Материалы

Результаты

В ходе работы удалось успешно обучить модель Stable Diffusion с использованием метода LoRA на небольшом наборе изображений, отражающих архитектуру Рима. После подключения полученных весов к базовой модели нейросеть начала уверенно воспроизводить узнаваемые черты римской городской среды.

Результаты генерации показали, что даже короткое дообучение позволяет заметно сместить визуальный стиль модели в сторону римской тематики. При этом сохраняется общий реализм, заложенный в базовой версии Stable Diffusion. На ряде изображений появились типичные элементы — Колизей, Форум, Пантеон, узкие улицы с балконами и растительностью, а также правильная передача фактур камня и света.

Архитектура Рима // Обучение генеративной нейросети Stable Diffusion
Проект создан 08.12.2025
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше