Spaces:
Runtime error
Runtime error
| <!--Copyright 2024 NVIDIA CORPORATION & AFFILIATES | |
| # | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. --> | |
| # 4bit SanaPipeline | |
| ### 1. Environment setup | |
| Follow the official [SVDQuant-Nunchaku](https://github.com/mit-han-lab/nunchaku) repository to set up the environment. The guidance can be found [here](https://github.com/mit-han-lab/nunchaku?tab=readme-ov-file#installation). | |
| ### 2. Code snap for inference | |
| Here we show the code snippet for SanaPipeline. For SanaPAGPipeline, please refer to the [SanaPAGPipeline](https://github.com/mit-han-lab/nunchaku/blob/main/examples/sana_1600m_pag.py) section. | |
| ```python | |
| import torch | |
| from diffusers import SanaPipeline | |
| from nunchaku.models.transformer_sana import NunchakuSanaTransformer2DModel | |
| transformer = NunchakuSanaTransformer2DModel.from_pretrained("mit-han-lab/svdq-int4-sana-1600m") | |
| pipe = SanaPipeline.from_pretrained( | |
| "Efficient-Large-Model/Sana_1600M_1024px_BF16_diffusers", | |
| transformer=transformer, | |
| variant="bf16", | |
| torch_dtype=torch.bfloat16, | |
| ).to("cuda") | |
| pipe.text_encoder.to(torch.bfloat16) | |
| pipe.vae.to(torch.bfloat16) | |
| image = pipe( | |
| prompt="A cute ๐ผ eating ๐, ink drawing style", | |
| height=1024, | |
| width=1024, | |
| guidance_scale=4.5, | |
| num_inference_steps=20, | |
| generator=torch.Generator().manual_seed(42), | |
| ).images[0] | |
| image.save("sana_1600m.png") | |
| ``` | |
| ### 3. Online demo | |
| 1). Launch the 4bit Sana. | |
| ```bash | |
| python app/app_sana_4bit.py | |
| ``` | |
| 2). Compare with BF16 version | |
| Refer to the original [Nunchaku-Sana.](https://github.com/mit-han-lab/nunchaku/tree/main/app/sana/t2i) guidance for SanaPAGPipeline | |
| ```bash | |
| python app/app_sana_4bit_compare_bf16.py | |
| ``` | |