Views
No views yet
Language: English | 中文
tonera/novaAnimeXL_xlV10tonera/novaAnimeXL_xlV10 (repo root)tonera/novaAnimeXL_xlV10/svdq-<precision>_r32-novaAnimeXL_xlV10.safetensorshttps://github.com/nunchaku-ai/nunchaku)svdq-*_r32-*.safetensors) are intended to be used with Nunchaku for efficient inference on supported GPUs.1PSNR: mean=21.2134 p50=21.0153 p90=24.0447 best=27.4524 worst=17.0549 (N=25)
2SSIM: mean=0.833264 p50=0.852112 p90=0.890438 best=0.926212 worst=0.67059 (N=25)
3LPIPS: mean=0.220209 p50=0.208299 p90=0.310003 best=0.0773708 worst=0.406567 (N=25)bf16 / steps=30 / guidance_scale=5.01024x1024, 1024x768, 768x1024, 832x1216, 1216x832torch 2.9 / cuda 12.8 / nunchaku 1.1.0+torch2.9 / diffusers 0.37.0.dev0torch.compile, no explicit cudnn tuning flags| GPU | Metric | Diffusers | Nunchaku | Speedup | Gain |
|---|---|---|---|---|---|
| RTX 5090 | load | 3.505s | 3.432s | 1.02x | +2.1% |
| RTX 5090 | cold_infer | 2.944s | 2.447s | 1.20x | +16.9% |
| RTX 5090 | cold_e2e | 6.449s | 5.880s | 1.10x | +8.8% |
| RTX 3090 | load | 3.787s | 3.442s | 1.10x | +9.1% |
| RTX 3090 | cold_infer | 7.503s | 5.231s | 1.43x | +30.3% |
| RTX 3090 | cold_e2e | 11.290s | 8.673s | 1.30x | +23.2% |
| GPU | Metric | Diffusers | Nunchaku | Speedup | Gain |
|---|---|---|---|---|---|
| RTX 5090 | total (5 images) | 12.937s | 9.813s | 1.32x | +24.2% |
| RTX 5090 | avg (per image) | 2.587s | 1.963s | 1.32x | +24.2% |
| RTX 3090 | total (5 images) | 33.413s | 22.975s | 1.45x | +31.2% |
| RTX 3090 | avg (per image) | 6.683s | 4.595s | 1.45x | +31.2% |
https://nunchaku.tech/docs/nunchaku/installation/installation.htmlPyTorch >= 2.5 (follow the wheel requirements)cp311 means Python 3.11):
https://github.com/nunchaku-ai/nunchaku/releases1# Example (select the correct wheel URL for your torch/cuda/python versions)
2pip install https://github.com/nunchaku-ai/nunchaku/releases/download/vX.Y.Z/nunchaku-X.Y.Z+torch2.9-cp311-cp311-linux_x86_64.whlCUDA >= 12.8, and prefer FP4 models for compatibility/performance (follow official docs).1import torch
2from diffusers import StableDiffusionXLPipeline
3
4from nunchaku.models.unets.unet_sdxl import NunchakuSDXLUNet2DConditionModel
5from nunchaku.utils import get_precision
6
7MODEL = "novaAnimeXL_xlV10" # Replace with the actual model name before publishing (e.g. zavychromaxl_v100)
8REPO_ID = f"tonera/{MODEL}"
9
10if __name__ == "__main__":
11 unet = NunchakuSDXLUNet2DConditionModel.from_pretrained(
12 f"{REPO_ID}/svdq-{get_precision()}_r32-{MODEL}.safetensors"
13 )
14
15 pipe = StableDiffusionXLPipeline.from_pretrained(
16 f"{REPO_ID}",
17 unet=unet,
18 torch_dtype=torch.bfloat16,
19 use_safetensors=True,
20 ).to("cuda")
21
22 prompt = "Make Pikachu hold a sign that says 'Nunchaku is awesome', yarn art style, detailed, vibrant colors"
23 image = pipe(prompt=prompt, guidance_scale=5.0, num_inference_steps=30).images[0]
24 image.save("sdxl.png")