

Недавно я была на лекции в обсерватории, где нам рассказывали об изучении черных дыр. Кадры этого явления оказалось очень интересно рассматривать и осознавать происходящее, ведь это фотографии невидимого. Сама дыра не излучает ничего, однако поглощает все, что в нее попадает, поэтому на кадрах мы видим только ее «тень» и границы — светящийся аккреционный диск, разогретый до ядерных температур.
В процессе лекции нам сказали, что часть фотографий сгенерированы и в этом нет ничего зазорного, наоборот это помогает в визуализации сложных астрономических понятий, которые трудно получить напрямую с помощью телескопов.
Поэтому я решила поэкспериментировать и создала с помощью Stable Diffusion свои версии черных дыр.
Процесс обучения и генерации изображений
Итак, при работе было создано 2 блокнота:
Первый скрипт реализует процесс обучения модели Stable Diffusion с помощью метода LoRA на основе пака изображений чёрных дыр.
Второй скрипт предназначен для генерации изображений на базе уже обученной мной модели.
Сначала потребовалось импортировать все необходимые библиотеки для работы с датасетами, трансформерами изображений, Stable Diffusion, LoRA и т д.
Также были проверены GPU и установлены зависимости. Далее я выгрузила 188 фотографий черных дыр в разрешении 512*512, как и датасет.
Далее начался процесс обучения, занял где-то полтора часа, благодаря этому получилось сформировать итоговую обученную модель.


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