Stable Diffusion — это мощная модель машинного обучения для генерации изображений по текстовым описаниям. Она позволяет создавать высококачественные изображения, от реалистичных портретов до абстрактных артов. В этой статье мы разберём, как начать использовать Stable Diffusion, включая установку, настройку и создание первых изображений. Статья ориентирована на начинающих пользователей и содержит пошаговые инструкции.

Что такое Stable Diffusion?

Stable Diffusion — это модель с открытым исходным кодом, разработанная для генерации изображений на основе текстовых подсказок (prompts). Она основана на диффузионных процессах, которые постепенно преобразуют случайный шум в осмысленное изображение. Модель была представлена в 2022 году и быстро стала популярной благодаря своей доступности и качеству результатов.

Основные преимущества Stable Diffusion:

  • Открытый исходный код, что позволяет использовать её бесплатно.
  • Возможность запускать модель локально на своём компьютере.
  • Поддержка кастомизации и интеграции с различными инструментами.
  • Большое сообщество, создающее модели, плагины и обучающие материалы.

Системные требования

Для запуска Stable Diffusion локально вам понадобится:

  • Операционная система: Windows, macOS или Linux.
  • Видеокарта (GPU): Рекомендуется NVIDIA с поддержкой CUDA (например, GTX 1060 с 6 ГБ VRAM или лучше). Для macOS подойдут чипы Apple M1/M2 с 16 ГБ RAM.
  • Оперативная память (RAM): Минимум 16 ГБ, рекомендуется 32 ГБ.
  • Место на диске: Не менее 20 ГБ для установки модели и зависимостей.
  • Python: Версия 3.8 или выше.
  • Интернет: Для загрузки модели и зависимостей.

Если у вас нет мощного GPU, вы можете использовать облачные сервисы, такие как Google Colab, или онлайн-платформы, поддерживающие Stable Diffusion (например, DreamStudio).

Установка Stable Diffusion

1. Установка Python

  1. Загрузите и установите Python (версия 3.8–3.10) с официального сайта python.org.
  2. Убедитесь, что опция "Add Python to PATH" включена при установке.
  3. Проверьте установку, выполнив в терминале команду:
    python --version

2. Установка зависимостей

Stable Diffusion требует установки библиотек, таких как PyTorch и Hugging Face. Выполните следующие шаги:

  1. Создайте виртуальное окружение для изоляции зависимостей:

    python -m venv sd_env
    source sd_env/bin/activate  # Для Linux/macOS
    sd_env\Scripts\activate     # Для Windows
  2. Установите PyTorch с поддержкой CUDA (для NVIDIA GPU):

    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

    Для macOS или CPU-версии проверьте инструкции на pytorch.org.

  3. Установите библиотеку Hugging Face и другие зависимости:

    pip install diffusers transformers accelerate

3. Загрузка модели

  1. Зарегистрируйтесь на Hugging Face и получите токен доступа (API token).

  2. Загрузите модель Stable Diffusion (например, runwayml/stable-diffusion-v1-5):

    huggingface-cli login

    Введите ваш токен для авторизации.

  3. Скачайте модель в локальную папку:

    from diffusers import StableDiffusionPipeline
    
    model_id = "runwayml/stable-diffusion-v1-5"
    pipe = StableDiffusionPipeline.from_pretrained(model_id)
    pipe = pipe.to("cuda")  # Для GPU, замените на "cpu" для процессора

4. Установка графического интерфейса (опционально)

Для удобства работы с Stable Diffusion можно установить интерфейс, например, AUTOMATIC1111 WebUI:

  1. Склонируйте репозиторий:
    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
    cd stable-diffusion-webui
  2. Запустите установочный скрипт:
    ./webui.sh  # Для Linux/macOS
    webui.bat   # Для Windows
  3. После установки откройте браузер и перейдите по адресу http://localhost:7860.

Создание первого изображения

Использование Python-скрипта

  1. Создайте файл generate_image.py и добавьте следующий код:

    from diffusers import StableDiffusionPipeline
    
    model_id = "runwayml/stable-diffusion-v1-5"
    pipe = StableDiffusionPipeline.from_pretrained(model_id).to("cuda")
    
    prompt = "Космический корабль в стиле киберпанк, высоко детализированный, 4k"
    image = pipe(prompt).images[0]
    image.save("output.png")
  2. Запустите скрипт:
    python generate_image.py
  3. Изображение сохранится в файл output.png.

Использование WebUI

  1. Запустите AUTOMATIC1111 WebUI.
  2. Введите текстовую подсказку (prompt) в поле ввода, например: "Красивый закат над горами, реалистичный стиль".
  3. Настройте параметры (число шагов, CFG Scale) и нажмите "Generate".
  4. Скачайте сгенерированное изображение.

Советы по созданию промптов

  • Язык: Пишите промпты на английском для лучших результатов, так как модель обучалась преимущественно на англоязычных данных. Пример: "A futuristic city at night, neon lights, highly detailed".
  • Детализация: Добавляйте описательные слова, такие как "realistic", "4k", "cinematic", "highly detailed".
  • Отрицательные промпты: Используйте отрицательные подсказки (negative prompts) для исключения нежелательных элементов, например: "blurry, low quality, extra limbs".
  • Параметры: Экспериментируйте с параметрами, такими как CFG Scale (обычно 7–12) и число шагов (20–50).

Распространённые проблемы и их решения

  • Ошибка "CUDA out of memory": Уменьшите размер изображения или используйте модель с меньшими требованиями (например, stabilityai/stable-diffusion-2-1-base).
  • Медленная генерация: Попробуйте запустить на CPU или используйте облачные сервисы.
  • Плохое качество изображений: Уточните промпт, увеличьте число шагов или используйте более качественную модель.

Альтернативы локальной установке

Если установка Stable Diffusion на вашем компьютере затруднительна, попробуйте:

  • Google Colab: Бесплатный способ запустить Stable Diffusion в облаке. Поищите готовые ноутбуки на GitHub.
  • DreamStudio: Официальная платформа от Stability AI с платной подпиской.
  • RunPod или Vast.ai: Аренда облачных GPU для работы с Stable Diffusion.

Полезные ресурсы

Заключение

Stable Diffusion — это мощный инструмент для создания уникальных изображений, доступный как для новичков, так и для профессионалов. Начните с простых промптов, экспериментируйте с настройками и изучайте возможности модели. Сообщество Stable Diffusion активно развивается, и вы всегда найдёте новые модели, плагины и советы для улучшения результатов.