🚀 Sana文本到图像生成框架
Sana是一个文本到图像的生成框架,能够高效生成最高达4096 × 4096分辨率的图像。它可以在笔记本电脑的GPU上部署,以极快的速度合成高分辨率、高质量且文本与图像高度对齐的图像。
🚀 快速开始
我们推出了 Sana,这是一个文本到图像的框架,能够高效生成最高达4096 × 4096分辨率的图像。Sana可以以极快的速度合成高分辨率、高质量且文本与图像高度对齐的图像,并且可以部署在笔记本电脑的GPU上。
源代码可在 https://github.com/NVlabs/Sana 获取。
⚠️ 重要提示
⚠️ 重要提示
- 复杂场景创作能力有限:由于数据的限制,我们的模型在生成复杂场景、文本和人类手部方面的能力 有限。
- 提升能力的方法:可以通过 增加提示词的复杂度和长度 来提高模型的性能。以下是一些 提示词和示例。
✨ 主要特性
- 能够高效生成最高达4096 × 4096分辨率的图像。
- 可以在笔记本电脑GPU上部署,快速合成高分辨率、高质量且文本与图像高度对齐的图像。
- 支持Emoji、中文和英文以及所有混合提示词。
📦 安装指南
文档未提及安装步骤,故跳过此章节。
💻 使用示例
基础用法
参考原始 GitHub指南 来使用Sana官方代码库中的 .pth
模型:
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/2048ms/Sana_1600M_img2048_bf16.yaml")
sana.from_pretrained("hf://Efficient-Large-Model/Sana_1600M_2Kpx_BF16/checkpoints/Sana_1600M_2Kpx_BF16.pth")
prompt = 'a cyberpunk cat with a neon sign that says "Sana"'
image = sana(
prompt=prompt,
height=2048,
width=2048,
guidance_scale=5.0,
pag_guidance_scale=2.0,
num_inference_steps=20,
generator=generator,
)
save_image(image, 'output/sana.png', nrow=1, normalize=True, value_range=(-1, 1))
📚 详细文档
模型描述
模型来源
出于研究目的,我们推荐使用我们的 generative-models
Github仓库 (https://github.com/NVlabs/Sana),它更适合训练和推理,并且集成了大多数先进的扩散采样器,如Flow-DPM-Solver。
MIT Han-Lab 提供免费的Sana推理服务。
- 仓库地址:https://github.com/NVlabs/Sana
使用场景
直接使用
该模型仅用于研究目的。可能的研究领域和任务包括:
- 生成艺术作品并用于设计和其他艺术过程。
- 在教育或创意工具中的应用。
- 生成模型的研究。
- 对有可能生成有害内容的模型进行安全部署。
- 探索和理解生成模型的局限性和偏差。
以下是不适用的使用场景。
超出适用范围的使用
该模型并非用于生成真实或准确反映人物或事件的内容,因此使用该模型生成此类内容超出了其能力范围。
🔧 技术细节
局限性
- 模型无法实现完美的照片级真实感。
- 模型无法渲染复杂且清晰可读的文本。
- 一般来说,手指等细节可能无法正确生成。
- 模型的自动编码部分存在信息损失。
偏差
虽然图像生成模型的能力令人印象深刻,但它们也可能强化或加剧社会偏差。
📄 许可证
本模型使用 NSCL v2-custom 许可证。管理条款为NVIDIA许可证。附加信息请参考 Gemma使用条款 | Google AI for Developers (适用于Gemma-2-2B-IT)以及 Gemma禁止使用政策 | Google AI for Developers。