Update README.md
Browse files
README.md
CHANGED
|
@@ -1,13 +1,6 @@
|
|
| 1 |
---
|
| 2 |
-
library_name: sana
|
| 3 |
tags:
|
| 4 |
- text-to-image
|
| 5 |
-
- Sana
|
| 6 |
-
- 1024px_based_image_size
|
| 7 |
-
- Multi-language
|
| 8 |
-
language:
|
| 9 |
-
- en
|
| 10 |
-
- zh
|
| 11 |
base_model:
|
| 12 |
- Efficient-Large-Model/Sana_600M_1024px_diffusers
|
| 13 |
pipeline_tag: text-to-image
|
|
@@ -33,124 +26,34 @@ Sana can synthesize high-resolution, high-quality images with strong text-image
|
|
| 33 |
|
| 34 |
Source code is available at https://github.com/NVlabs/Sana.
|
| 35 |
|
| 36 |
-
# Note
|
| 37 |
-
- Weakness in Complex Scene Creation: Due to limitation of data, our model has **limited** capabilities in generating complex scenes, text, and human hands.
|
| 38 |
-
- **Enhancing Capabilities**: The model’s performance can be improved by **increasing the complexity and length of prompts**. Below are some examples of **prompts and samples**.
|
| 39 |
-
|
| 40 |
-
### Model Description
|
| 41 |
-
|
| 42 |
-
- **Developed by:** NVIDIA, Sana
|
| 43 |
-
- **Model type:** Linear-Diffusion-Transformer-based text-to-image generative model
|
| 44 |
-
- **Model size:** 590M parameters
|
| 45 |
-
- **Model resolution:** This model is developed to generate 1024px based images with multi-scale heigh and width.
|
| 46 |
-
- **License:** [NSCL v2-custom](./LICENSE.txt). Governing Terms: NVIDIA License. Additional Information: [Gemma Terms of Use | Google AI for Developers](https://ai.google.dev/gemma/terms) for Gemma-2-2B-IT, [Gemma Prohibited Use Policy | Google AI for Developers](https://ai.google.dev/gemma/prohibited_use_policy).
|
| 47 |
-
- **Model Description:** This is a model that can be used to generate and modify images based on text prompts.
|
| 48 |
-
It is a Linear Diffusion Transformer that uses one fixed, pretrained text encoders ([Gemma2-2B-IT](https://huggingface.co/google/gemma-2-2b-it))
|
| 49 |
-
and one 32x spatial-compressed latent feature encoder ([DC-AE](https://hanlab.mit.edu/projects/dc-ae)).
|
| 50 |
-
- **Resources for more information:** Check out our [GitHub Repository](https://github.com/NVlabs/Sana) and the [Sana report on arXiv](https://arxiv.org/abs/2410.10629).
|
| 51 |
-
|
| 52 |
-
### Model Sources
|
| 53 |
-
|
| 54 |
-
For research purposes, we recommend our `generative-models` Github repository (https://github.com/NVlabs/Sana),
|
| 55 |
-
which is more suitable for both training and inference and for which most advanced diffusion sampler like Flow-DPM-Solver is integrated.
|
| 56 |
-
[MIT Han-Lab](https://nv-sana.mit.edu/) provides free Sana inference.
|
| 57 |
-
- **Repository:** https://github.com/NVlabs/Sana
|
| 58 |
|
| 59 |
### 🧨 Diffusers
|
| 60 |
|
| 61 |
-
### 1. How to use `
|
| 62 |
-
|
| 63 |
-
> \[!IMPORTANT\]
|
| 64 |
-
> Make sure to specify `pipe.transformer` to default `torch_dtype` and `variant` according to [Model Card](asset/docs/model_zoo.md).
|
| 65 |
-
>
|
| 66 |
-
> Set `pipe.text_encoder` to BF16 and `pipe.vae` to FP32 or BF16. For more info, [docs](https://huggingface.co/docs/diffusers/main/en/api/pipelines/sana#sanapipeline) are here.
|
| 67 |
|
| 68 |
```python
|
| 69 |
# run `pip install git+https://github.com/huggingface/diffusers` before use Sana in diffusers
|
| 70 |
import torch
|
| 71 |
-
from diffusers import
|
|
|
|
| 72 |
|
| 73 |
-
pipe =
|
| 74 |
-
"
|
| 75 |
variant="fp16",
|
| 76 |
torch_dtype=torch.float16,
|
|
|
|
| 77 |
)
|
| 78 |
-
pipe.to("cuda")
|
| 79 |
|
| 80 |
pipe.vae.to(torch.bfloat16)
|
| 81 |
pipe.text_encoder.to(torch.bfloat16)
|
| 82 |
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
prompt=prompt,
|
| 86 |
-
height=1024,
|
| 87 |
-
width=1024,
|
| 88 |
-
guidance_scale=4.5,
|
| 89 |
-
num_inference_steps=20,
|
| 90 |
-
generator=torch.Generator(device="cuda").manual_seed(42),
|
| 91 |
-
)[0]
|
| 92 |
-
|
| 93 |
-
image[0].save("sana.png")
|
| 94 |
-
```
|
| 95 |
-
|
| 96 |
-
### 2. How to use `SanaPAGPipeline` with `🧨diffusers`
|
| 97 |
-
|
| 98 |
-
```python
|
| 99 |
-
# run `pip install git+https://github.com/huggingface/diffusers` before use Sana in diffusers
|
| 100 |
-
import torch
|
| 101 |
-
from diffusers import SanaPAGPipeline
|
| 102 |
-
|
| 103 |
-
pipe = SanaPAGPipeline.from_pretrained(
|
| 104 |
-
"Efficient-Large-Model/Sana_600M_1024px_diffusers",
|
| 105 |
-
variant="fp16",
|
| 106 |
-
torch_dtype=torch.float16,
|
| 107 |
-
pag_applied_layers="transformer_blocks.8",
|
| 108 |
)
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
pipe.text_encoder.to(torch.bfloat16)
|
| 112 |
-
pipe.vae.to(torch.bfloat16)
|
| 113 |
-
|
| 114 |
-
prompt = 'A cute 🐼 eating 🎋, ink drawing style'
|
| 115 |
image = pipe(
|
| 116 |
-
prompt
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
num_inference_steps=20,
|
| 122 |
-
generator=torch.Generator(device="cuda").manual_seed(42),
|
| 123 |
-
)[0]
|
| 124 |
-
image[0].save('sana.png')
|
| 125 |
-
```
|
| 126 |
-
|
| 127 |
-
## Uses
|
| 128 |
-
|
| 129 |
-
### Direct Use
|
| 130 |
-
|
| 131 |
-
The model is intended for research purposes only. Possible research areas and tasks include
|
| 132 |
-
|
| 133 |
-
- Generation of artworks and use in design and other artistic processes.
|
| 134 |
-
- Applications in educational or creative tools.
|
| 135 |
-
- Research on generative models.
|
| 136 |
-
- Safe deployment of models which have the potential to generate harmful content.
|
| 137 |
-
|
| 138 |
-
- Probing and understanding the limitations and biases of generative models.
|
| 139 |
-
|
| 140 |
-
Excluded uses are described below.
|
| 141 |
-
|
| 142 |
-
### Out-of-Scope Use
|
| 143 |
-
|
| 144 |
-
The model was not trained to be factual or true representations of people or events, and therefore using the model to generate such content is out-of-scope for the abilities of this model.
|
| 145 |
-
|
| 146 |
-
## Limitations and Bias
|
| 147 |
-
|
| 148 |
-
### Limitations
|
| 149 |
-
|
| 150 |
-
- The model does not achieve perfect photorealism
|
| 151 |
-
- The model cannot render complex legible text
|
| 152 |
-
- fingers, .etc in general may not be generated properly.
|
| 153 |
-
- The autoencoding part of the model is lossy.
|
| 154 |
-
|
| 155 |
-
### Bias
|
| 156 |
-
While the capabilities of image generation models are impressive, they can also reinforce or exacerbate social biases.
|
|
|
|
| 1 |
---
|
|
|
|
| 2 |
tags:
|
| 3 |
- text-to-image
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
base_model:
|
| 5 |
- Efficient-Large-Model/Sana_600M_1024px_diffusers
|
| 6 |
pipeline_tag: text-to-image
|
|
|
|
| 26 |
|
| 27 |
Source code is available at https://github.com/NVlabs/Sana.
|
| 28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
### 🧨 Diffusers
|
| 31 |
|
| 32 |
+
### 1. How to use `SanaControlNetPipeline` with `🧨diffusers`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
```python
|
| 35 |
# run `pip install git+https://github.com/huggingface/diffusers` before use Sana in diffusers
|
| 36 |
import torch
|
| 37 |
+
from diffusers import SanaControlNetModel, SanaControlNetPipeline
|
| 38 |
+
from diffusers.utils import load_image
|
| 39 |
|
| 40 |
+
pipe = SanaControlNetPipeline.from_pretrained(
|
| 41 |
+
"ishan24/Sana_600M_1024px_ControlNetPlus_diffusers",
|
| 42 |
variant="fp16",
|
| 43 |
torch_dtype=torch.float16,
|
| 44 |
+
device_map="balanced"
|
| 45 |
)
|
|
|
|
| 46 |
|
| 47 |
pipe.vae.to(torch.bfloat16)
|
| 48 |
pipe.text_encoder.to(torch.bfloat16)
|
| 49 |
|
| 50 |
+
cond_image = load_image(
|
| 51 |
+
"https://huggingface.co/ishan24/Sana_600M_1024px_ControlNet_diffusers/resolve/main/hed_example.png"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
)
|
| 53 |
+
prompt='a cat with a neon sign that says "Sana"'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
image = pipe(
|
| 55 |
+
prompt,
|
| 56 |
+
control_image=cond_image,
|
| 57 |
+
).images[0]
|
| 58 |
+
image.save("sana.png")
|
| 59 |
+
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|