Генерация изображения с помощью модели Stable Diffusion
В DataSphere вы можете развернуть нейросеть на основе модели Stable Diffusion и генерировать изображения по их текстовому описанию.
Stable Diffusion
В этом руководстве вы сгенерируете изображение по текстовому описанию с помощью реализации модели Stable Diffusion в библиотеке Diffusers
Чтобы сгенерировать изображение с помощью модели Stable Diffusion:
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Перед началом работы нужно зарегистрироваться в Yandex Cloud, настроить сообщество и привязать к нему платежный аккаунт:
- На главной странице DataSphere
нажмите Попробовать бесплатно и выберите аккаунт для входа — Яндекс ID или рабочий аккаунт в федерации (SSO). - Выберите организацию Yandex Cloud Organization, в которой вы будете работать в Yandex Cloud.
- Создайте сообщество.
- Привяжите платежный аккаунт к сообществу DataSphere, в котором вы будете работать. Убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе
ACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его в интерфейсе DataSphere.
Примечание
Если вы работаете с Yandex Cloud через федерацию удостоверений, вам может быть недоступна платежная информация. В этом случае обратитесь к администратору вашей организации в Yandex Cloud.
Необходимые платные ресурсы
В стоимость использования модели входит плата за запуск ячеек с кодом (см. тарифы DataSphere).
Подготовьте инфраструктуру
Создайте проект
- Откройте главную страницу
DataSphere. - На панели слева выберите
Сообщества. - Выберите сообщество, в котором вы хотите создать проект.
- На странице сообщества нажмите кнопку
Создать проект. - В открывшемся окне укажите имя
Stable Diffusion
и (опционально) описание проекта. - Нажмите кнопку Создать.
Создайте ноутбук и установите библиотеки
Примечание
В этом практическом руководстве все вычисления выполняются на конфигурации g1.1, однако модель может быть запущена и на других конфигурациях.
-
В интерфейсе DataSphere откройте созданный проект.
-
Создайте новый ноутбук:
- На верхней панели в окне проекта нажмите File → New → Notebook.
- В открывшемся окне выберите ядро DataSphere Kernel.
-
Установите библиотеку Diffusers
. Вставьте в ячейку указанный ниже код и нажмите значок .%pip install diffusers
-
Установите библиотеку Transformers
:%pip install transformers
-
После завершения установки на верхней панели выберите Kernel ⟶ Restart kernel...
Создайте модель и сгенерируйте изображение
-
Импортируйте в проект библиотеки:
from diffusers import StableDiffusionPipeline import torch
-
Создайте модель:
model_id = "runwayml/stable-diffusion-v1-5" pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipe = pipe.to("cuda")
-
Сгенерируйте изображение по его описанию:
prompt = "a photo of an astronaut riding a horse on mars" image = pipe(prompt).images[0]
-
Сохраните полученное изображение:
image.save("astronaut_rides_horse.png")
Файл изображения появится рядом с ноутбуком. Результат:
Как удалить созданные ресурсы
Если вы больше не планируете работать с проектом Stable Diffusion
, удалите его.