Sana: быстрая генерация изображений высокого разрешения, ультрамалая модель размером 0,6 ББ, работа с GPU в низкопрофильном ноутбуке

Общее введение

Sana - это эффективный фреймворк для создания изображений высокого разрешения, разработанный в NVIDIA Labs, который генерирует изображения с разрешением до 4096 × 4096 за секунды. Sana использует линейное диффузионное преобразование и технологию автокодирования с глубоким сжатием для значительного повышения скорости и качества создания изображений при снижении потребности в вычислительных ресурсах. Фреймворк поддерживает работу на обычных графических процессорах ноутбуков для создания недорогого контента.

Sana:快速生成高分辨率图像,0.6B超小尺寸模型,低配笔记本GPU运行

 

Sana:快速生成高分辨率图像,0.6B超小尺寸模型,低配笔记本GPU运行

Опыт работы в Интернете: https://nv-sana.mit.edu/

 

Список функций

  • Создание изображений высокого разрешения: Поддерживает создание изображений с разрешением до 4096 × 4096.
  • линейный диффузионный преобразователь: Повышение эффективности генерации изображений высокого разрешения с помощью механизма линейного внимания.
  • Автокодировщик глубокого сжатия: Сжимает изображения до 32 раз, уменьшая количество потенциальных маркеров и повышая эффективность обучения и генерации.
  • Преобразование текста в изображение: Улучшенное выравнивание изображения с текстом с помощью декодера и кодировщика текста.
  • Эффективное обучение и отбор пробДля сокращения шагов дискретизации и ускорения сходимости используется Flow-DPM-Solver.
  • Недорогое развертывание: Поддерживает работу на графических процессорах ноутбуков с 16 ГБ памяти и создает изображения с разрешением 1024 x 1024 менее чем за 1 секунду.

 

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

Процесс установки

  1. Убедитесь, что версия Python >= 3.10.0, рекомендуется использовать Anaconda или Miniconda.
  2. Установите PyTorch версии >= 2.0.1+cu12.1.
  3. Клонирование склада Sana:
    git clone https://github.com/NVlabs/Sana.git
    cd Sana
    
  4. Запустите сценарий настройки среды:
    ./environment_setup.sh sana
    

    или в соответствии с environment_setup.sh Установите каждый компонент в соответствии с описанием в

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

требования к оборудованию

  • Модель 0.6B требует 9 ГБ VRAM, а модель 1.6B - 12 ГБ VRAM. Для квантованной версии потребуется менее 8 ГБ видеопамяти для выводов.

Быстрый старт

  1. Запустите официальную онлайн-демонстрацию с помощью Gradio:
    DEMO_PORT=15432 \
    python app/app_sana.py \
    --config=configs/sana_config/1024ms/Sana_1600M_img1024.yaml \
    --model_path=hf://Efficient-Large-Model/Sana_1600M_1024px/checkpoints/Sana_1600M_1024px.pth
    
  2. Запустите код вывода, чтобы сгенерировать изображение:
    import torch
    from app.sana_pipeline import SanaPipeline
    from torchvision.utils import save_image
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    generator = torch.Generator(device=device).manual_seed(42)
    sana = SanaPipeline("configs/sana_config/1024ms/Sana_1600M_img1024.yaml")
    sana.from_pretrained("hf://Efficient-Large-Model/Sana_1600M_1024px/checkpoints/Sana_1600M_1024px.pth")
    prompt = 'a cyberpunk cat with a neon sign that says "Sana"'
    image = sana(prompt=prompt, height=1024, width=1024, guidance_scale=5.0, pag_guidance_scale=2.0, num_inference_steps=18, generator=generator)
    save_image(image, 'output/sana.png', nrow=1, normalize=True, value_range=(-1, 1))
    

Модели обучения

  1. Подготовьте набор данных в следующем формате:
    asset/example_data
    ├── AAA.txt
    ├── AAA.png
    ├── BCC.txt
    ├── BCC.png
    └── CCC.txt
    
  2. Начните обучение:
    bash train_scripts/train.sh \
    configs/sana_config/512ms/Sana_600M_img512.yaml \
    --data.data_dir="asset/example_data" \
    --data.type=SanaImgDataset \
    --model.multi_scale=false \
    --train.train_batch_size=32
    
© заявление об авторских правах

Похожие статьи

R2R:多模态内容解析并结合知识图谱与混合搜索的先进AI检索(RAG)系统

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...