Add files using upload-large-folder tool
Browse files- README.md +120 -0
- README_CN.md +122 -0
- model_index.json +41 -0
- scheduler/scheduler_config.json +25 -0
- svdq-fp4_r32-oneObsession_v19.safetensors +3 -0
- svdq-int4_r32-oneObsession_v19.safetensors +3 -0
- text_encoder/config.json +24 -0
- text_encoder/model.safetensors +3 -0
- text_encoder_2/config.json +24 -0
- text_encoder_2/model.safetensors +3 -0
- tokenizer/merges.txt +0 -0
- tokenizer/special_tokens_map.json +30 -0
- tokenizer/tokenizer_config.json +31 -0
- tokenizer/vocab.json +0 -0
- tokenizer_2/merges.txt +0 -0
- tokenizer_2/special_tokens_map.json +24 -0
- tokenizer_2/tokenizer_config.json +39 -0
- tokenizer_2/vocab.json +0 -0
- unet/config.json +72 -0
- unet/diffusion_pytorch_model.safetensors +3 -0
- vae/config.json +37 -0
- vae/diffusion_pytorch_model.safetensors +3 -0
README.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
pipeline_tag: text-to-image
|
| 3 |
+
library_name: diffusers
|
| 4 |
+
tags:
|
| 5 |
+
- sdxl
|
| 6 |
+
- quantization
|
| 7 |
+
- svdquant
|
| 8 |
+
- nunchaku
|
| 9 |
+
- fp4
|
| 10 |
+
- int4
|
| 11 |
+
base_model: tonera/oneObsession_v19
|
| 12 |
+
base_model_relation: quantized
|
| 13 |
+
license: apache-2.0
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# Model Card (SVDQuant)
|
| 17 |
+
|
| 18 |
+
> **Language**: English | [中文](README_CN.md)
|
| 19 |
+
|
| 20 |
+
## Model Name
|
| 21 |
+
|
| 22 |
+
- **Model repo**: `tonera/oneObsession_v19`
|
| 23 |
+
- **Base (Diffusers weights path)**: `tonera/oneObsession_v19` (repo root)
|
| 24 |
+
- **Quantized UNet weights**: `tonera/oneObsession_v19/svdq-<precision>_r32-oneObsession_v19.safetensors`
|
| 25 |
+
|
| 26 |
+
## Quantization / Inference Tech
|
| 27 |
+
|
| 28 |
+
- **Inference engine**: Nunchaku (`https://github.com/nunchaku-ai/nunchaku`)
|
| 29 |
+
|
| 30 |
+
Nunchaku is a high-performance inference engine for **4-bit (FP4/INT4) low-bit neural networks**. Its goal is to significantly reduce VRAM usage and improve inference speed while preserving generation quality as much as possible. It implements and productionizes post-training quantization methods such as **SVDQuant**, and reduces the overhead introduced by low-rank branches via operator/kernel fusion and other optimizations.
|
| 31 |
+
|
| 32 |
+
The SDXL quantized weights in this repository (e.g. `svdq-*_r32-*.safetensors`) are intended to be used with Nunchaku for efficient inference on supported GPUs.
|
| 33 |
+
|
| 34 |
+
## Quantization Quality (fp8)
|
| 35 |
+
|
| 36 |
+
```text
|
| 37 |
+
PSNR: mean=18.1617 p50=17.5738 p90=22.6608 best=26.7009 worst=13.9146 (N=25)
|
| 38 |
+
SSIM: mean=0.708654 p50=0.733115 p90=0.821183 best=0.90688 worst=0.544626 (N=25)
|
| 39 |
+
LPIPS: mean=0.292463 p50=0.269715 p90=0.475591 best=0.0675235 worst=0.561108 (N=25)
|
| 40 |
+
```
|
| 41 |
+
|
| 42 |
+
## Performance
|
| 43 |
+
|
| 44 |
+
Below is the inference performance comparison (Diffusers vs Nunchaku-UNet).
|
| 45 |
+
|
| 46 |
+
- **Inference config**: `bf16 / steps=30 / guidance_scale=5.0`
|
| 47 |
+
- **Resolutions (5 images each, batch=5)**: `1024x1024`, `1024x768`, `768x1024`, `832x1216`, `1216x832`
|
| 48 |
+
- **Software versions**: `torch 2.9` / `cuda 12.8` / `nunchaku 1.1.0+torch2.9` / `diffusers 0.37.0.dev0`
|
| 49 |
+
- **Optimization switches**: no `torch.compile`, no explicit `cudnn` tuning flags
|
| 50 |
+
|
| 51 |
+
### Cold-start performance (end-to-end for the first image)
|
| 52 |
+
|
| 53 |
+
| GPU | Metric | Diffusers | Nunchaku | Speedup | Gain |
|
| 54 |
+
|-----|--------|-----------|----------|---------|------|
|
| 55 |
+
| RTX 5090 | load | 3.505s | 3.432s | 1.02x | +2.1% |
|
| 56 |
+
| RTX 5090 | cold_infer | 2.944s | 2.447s | 1.20x | +16.9% |
|
| 57 |
+
| RTX 5090 | cold_e2e | 6.449s | 5.880s | 1.10x | +8.8% |
|
| 58 |
+
| RTX 3090 | load | 3.787s | 3.442s | 1.10x | +9.1% |
|
| 59 |
+
| RTX 3090 | cold_infer | 7.503s | 5.231s | 1.43x | +30.3% |
|
| 60 |
+
| RTX 3090 | cold_e2e | 11.290s | 8.673s | 1.30x | +23.2% |
|
| 61 |
+
|
| 62 |
+
### Steady-state performance (5 consecutive images after warmup)
|
| 63 |
+
|
| 64 |
+
| GPU | Metric | Diffusers | Nunchaku | Speedup | Gain |
|
| 65 |
+
|-----|--------|-----------|----------|---------|------|
|
| 66 |
+
| RTX 5090 | total (5 images) | 12.937s | 9.813s | 1.32x | +24.2% |
|
| 67 |
+
| RTX 5090 | avg (per image) | 2.587s | 1.963s | 1.32x | +24.2% |
|
| 68 |
+
| RTX 3090 | total (5 images) | 33.413s | 22.975s | 1.45x | +31.2% |
|
| 69 |
+
| RTX 3090 | avg (per image) | 6.683s | 4.595s | 1.45x | +31.2% |
|
| 70 |
+
|
| 71 |
+
**Notes**:
|
| 72 |
+
- The longer load time on RTX 3090 is due to extra one-time processing when loading quantized weights.
|
| 73 |
+
- During inference (cold_infer and steady-state), Nunchaku shows clear speedups on both GPUs.
|
| 74 |
+
|
| 75 |
+
## Nunchaku Installation Required
|
| 76 |
+
|
| 77 |
+
- **Official installation docs** (recommended source of truth): `https://nunchaku.tech/docs/nunchaku/installation/installation.html`
|
| 78 |
+
|
| 79 |
+
### (Recommended) Install the official prebuilt wheel
|
| 80 |
+
|
| 81 |
+
- **Prerequisite**: `PyTorch >= 2.5` (follow the wheel requirements)
|
| 82 |
+
- **Install Nunchaku wheel**: choose a wheel matching your torch/cuda/python versions from GitHub Releases / HuggingFace / ModelScope (note `cp311` means Python 3.11):
|
| 83 |
+
- `https://github.com/nunchaku-ai/nunchaku/releases`
|
| 84 |
+
|
| 85 |
+
```bash
|
| 86 |
+
# Example (select the correct wheel URL for your torch/cuda/python versions)
|
| 87 |
+
pip install https://github.com/nunchaku-ai/nunchaku/releases/download/vX.Y.Z/nunchaku-X.Y.Z+torch2.9-cp311-cp311-linux_x86_64.whl
|
| 88 |
+
```
|
| 89 |
+
|
| 90 |
+
- **Tip (RTX 50 series)**: typically prefer `CUDA >= 12.8`, and prefer FP4 models for compatibility/performance (follow official docs).
|
| 91 |
+
|
| 92 |
+
## Usage Example (Diffusers + Nunchaku UNet)
|
| 93 |
+
|
| 94 |
+
```python
|
| 95 |
+
import torch
|
| 96 |
+
from diffusers import StableDiffusionXLPipeline
|
| 97 |
+
|
| 98 |
+
from nunchaku.models.unets.unet_sdxl import NunchakuSDXLUNet2DConditionModel
|
| 99 |
+
from nunchaku.utils import get_precision
|
| 100 |
+
|
| 101 |
+
MODEL = "oneObsession_v19" # Replace with the actual model name before publishing (e.g. zavychromaxl_v100)
|
| 102 |
+
REPO_ID = f"tonera/{MODEL}"
|
| 103 |
+
|
| 104 |
+
if __name__ == "__main__":
|
| 105 |
+
unet = NunchakuSDXLUNet2DConditionModel.from_pretrained(
|
| 106 |
+
f"{REPO_ID}/svdq-{get_precision()}_r32-{MODEL}.safetensors"
|
| 107 |
+
)
|
| 108 |
+
|
| 109 |
+
pipe = StableDiffusionXLPipeline.from_pretrained(
|
| 110 |
+
f"{REPO_ID}",
|
| 111 |
+
unet=unet,
|
| 112 |
+
torch_dtype=torch.bfloat16,
|
| 113 |
+
use_safetensors=True,
|
| 114 |
+
).to("cuda")
|
| 115 |
+
|
| 116 |
+
prompt = "Make Pikachu hold a sign that says 'Nunchaku is awesome', yarn art style, detailed, vibrant colors"
|
| 117 |
+
image = pipe(prompt=prompt, guidance_scale=5.0, num_inference_steps=30).images[0]
|
| 118 |
+
image.save("sdxl.png")
|
| 119 |
+
```
|
| 120 |
+
|
README_CN.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
pipeline_tag: text-to-image
|
| 3 |
+
library_name: diffusers
|
| 4 |
+
tags:
|
| 5 |
+
- sdxl
|
| 6 |
+
- quantization
|
| 7 |
+
- svdquant
|
| 8 |
+
- nunchaku
|
| 9 |
+
- fp4
|
| 10 |
+
- int4
|
| 11 |
+
base_model: tonera/oneObsession_v19
|
| 12 |
+
base_model_relation: quantized
|
| 13 |
+
license: apache-2.0
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# 模型说明(SVDQuant)
|
| 17 |
+
|
| 18 |
+
> **文档语言**:中文|[English](README.md)
|
| 19 |
+
|
| 20 |
+
## 模型名称
|
| 21 |
+
|
| 22 |
+
- **模型仓库**:`tonera/oneObsession_v19`
|
| 23 |
+
- **Base(Diffusers 权重路径)**:`tonera/oneObsession_v19`(本仓库根目录)
|
| 24 |
+
- **量化 UNet 权重**:`tonera/oneObsession_v19/svdq-<precision>_r32-oneObsession_v19.safetensors`
|
| 25 |
+
|
| 26 |
+
## 量化 / 推理技术
|
| 27 |
+
|
| 28 |
+
- **推理引擎**:Nunchaku(`https://github.com/nunchaku-ai/nunchaku`)
|
| 29 |
+
|
| 30 |
+
Nunchaku 是一个面向 **4-bit(FP4/INT4)低比特神经网络**的高性能推理引擎,核心目标是在尽量保持生成质量的同时显著降低显存占用并提升推理速度。它实现并工程化了 **SVDQuant** 等后训练量化方案,并通过算子/内核融合等优化减少低秩分支带来的额外开销。
|
| 31 |
+
|
| 32 |
+
本模型仓库中的 SDXL 量化权重(例如 `svdq-*_r32-*.safetensors`)用于配合 Nunchaku,在支持的 GPU 上进行高效推理。
|
| 33 |
+
|
| 34 |
+
## 量化质量(fp8)
|
| 35 |
+
|
| 36 |
+
```text
|
| 37 |
+
PSNR: mean=18.1617 p50=17.5738 p90=22.6608 best=26.7009 worst=13.9146 (N=25)
|
| 38 |
+
SSIM: mean=0.708654 p50=0.733115 p90=0.821183 best=0.90688 worst=0.544626 (N=25)
|
| 39 |
+
LPIPS: mean=0.292463 p50=0.269715 p90=0.475591 best=0.0675235 worst=0.561108 (N=25)
|
| 40 |
+
```
|
| 41 |
+
|
| 42 |
+
## 性能提升
|
| 43 |
+
|
| 44 |
+
以下为推理性能对比结果(Diffusers vs Nunchaku-UNet)。
|
| 45 |
+
|
| 46 |
+
- **推理配置**:`bf16 / steps=30 / guidance_scale=5.0`
|
| 47 |
+
- **分辨率(各 5 张,batch=5)**:`1024x1024`, `1024x768`, `768x1024`, `832x1216`, `1216x832`
|
| 48 |
+
- **软件版本**:`torch 2.9` / `cuda 12.8` / `nunchaku 1.1.0+torch2.9` / `diffusers 0.37.0.dev0`
|
| 49 |
+
- **优化开关**:无 `torch.compile`,无显式 `cudnn` 优化开关
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
### 冷启动性能对比(首张图端到端)
|
| 53 |
+
|
| 54 |
+
| GPU | 指标 | Diffusers | Nunchaku | 加速比 | 提升 |
|
| 55 |
+
|-----|------|-----------|----------|--------|------|
|
| 56 |
+
| RTX 5090 | load | 3.505s | 3.432s | 1.02x | +2.1% |
|
| 57 |
+
| RTX 5090 | cold_infer | 2.944s | 2.447s | 1.20x | +16.9% |
|
| 58 |
+
| RTX 5090 | cold_e2e | 6.449s | 5.880s | 1.10x | +8.8% |
|
| 59 |
+
| RTX 3090 | load | 3.787s | 3.442s | 1.10x | +9.1% |
|
| 60 |
+
| RTX 3090 | cold_infer | 7.503s | 5.231s | 1.43x | +30.3% |
|
| 61 |
+
| RTX 3090 | cold_e2e | 11.290s | 8.673s | 1.30x | +23.2% |
|
| 62 |
+
|
| 63 |
+
### Warmup 后连续 5 张性能对比
|
| 64 |
+
|
| 65 |
+
| GPU | 指标 | Diffusers | Nunchaku | 加速比 | 提升 |
|
| 66 |
+
|-----|------|-----------|----------|--------|------|
|
| 67 |
+
| RTX 5090 | total (5张) | 12.937s | 9.813s | 1.32x | +24.2% |
|
| 68 |
+
| RTX 5090 | avg (单张) | 2.587s | 1.963s | 1.32x | +24.2% |
|
| 69 |
+
| RTX 3090 | total (5张) | 33.413s | 22.975s | 1.45x | +31.2% |
|
| 70 |
+
| RTX 3090 | avg (单张) | 6.683s | 4.595s | 1.45x | +31.2% |
|
| 71 |
+
|
| 72 |
+
**说明**:
|
| 73 |
+
- RTX 3090 的 load 时间较长是因为首次加载量化权重需要额外处理时间
|
| 74 |
+
- 在推理阶段(cold_infer 和 warmup 后),Nunchaku 在两张显卡上均表现出明显的加速效果
|
| 75 |
+
|
| 76 |
+
## 使用前必须安装 Nunchaku
|
| 77 |
+
|
| 78 |
+
- **官方安装文档**(建议以此为准):`https://nunchaku.tech/docs/nunchaku/installation/installation.html`
|
| 79 |
+
|
| 80 |
+
### (推荐)方式:安装官方预编译 Wheel
|
| 81 |
+
|
| 82 |
+
- **前置条件**:安装 `PyTorch >= 2.5`(实际以对应 wheel 的要求为准)
|
| 83 |
+
- **安装 nunchaku wheel**:从 GitHub Releases / HuggingFace / ModelScope 选择与你环境匹配的 wheel(注意 `cp311` 表示 Python 3.11):
|
| 84 |
+
- `https://github.com/nunchaku-ai/nunchaku/releases`
|
| 85 |
+
|
| 86 |
+
```bash
|
| 87 |
+
# 示例(请按你的 torch/cuda/python 版本选择正确的 wheel URL)
|
| 88 |
+
pip install https://github.com/nunchaku-ai/nunchaku/releases/download/vX.Y.Z/nunchaku-X.Y.Z+torch2.9-cp311-cp311-linux_x86_64.whl
|
| 89 |
+
```
|
| 90 |
+
|
| 91 |
+
- **提示(50 系 GPU)**:通常建议 `CUDA >= 12.8`,并优先使用 FP4 模型以获得更好的兼容性与性能(以官方文档为准)。
|
| 92 |
+
|
| 93 |
+
## 使用示例(Diffusers + Nunchaku UNet)
|
| 94 |
+
|
| 95 |
+
|
| 96 |
+
```python
|
| 97 |
+
import torch
|
| 98 |
+
from diffusers import StableDiffusionXLPipeline
|
| 99 |
+
|
| 100 |
+
from nunchaku.models.unets.unet_sdxl import NunchakuSDXLUNet2DConditionModel
|
| 101 |
+
from nunchaku.utils import get_precision
|
| 102 |
+
|
| 103 |
+
MODEL = "oneObsession_v19"
|
| 104 |
+
REPO_ID = f"tonera/{MODEL}"
|
| 105 |
+
|
| 106 |
+
if __name__ == "__main__":
|
| 107 |
+
unet = NunchakuSDXLUNet2DConditionModel.from_pretrained(
|
| 108 |
+
f"{REPO_ID}/svdq-{get_precision()}_r32-{MODEL}.safetensors"
|
| 109 |
+
)
|
| 110 |
+
|
| 111 |
+
pipe = StableDiffusionXLPipeline.from_pretrained(
|
| 112 |
+
f"{REPO_ID}",
|
| 113 |
+
unet=unet,
|
| 114 |
+
torch_dtype=torch.bfloat16,
|
| 115 |
+
use_safetensors=True,
|
| 116 |
+
).to("cuda")
|
| 117 |
+
|
| 118 |
+
prompt = "Make Pikachu hold a sign that says 'Nunchaku is awesome', yarn art style, detailed, vibrant colors"
|
| 119 |
+
image = pipe(prompt=prompt, guidance_scale=5.0, num_inference_steps=30).images[0]
|
| 120 |
+
image.save("sdxl.png")
|
| 121 |
+
```
|
| 122 |
+
|
model_index.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "StableDiffusionXLPipeline",
|
| 3 |
+
"_diffusers_version": "0.37.0.dev0",
|
| 4 |
+
"feature_extractor": [
|
| 5 |
+
null,
|
| 6 |
+
null
|
| 7 |
+
],
|
| 8 |
+
"force_zeros_for_empty_prompt": true,
|
| 9 |
+
"image_encoder": [
|
| 10 |
+
null,
|
| 11 |
+
null
|
| 12 |
+
],
|
| 13 |
+
"scheduler": [
|
| 14 |
+
"diffusers",
|
| 15 |
+
"EulerDiscreteScheduler"
|
| 16 |
+
],
|
| 17 |
+
"text_encoder": [
|
| 18 |
+
"transformers",
|
| 19 |
+
"CLIPTextModel"
|
| 20 |
+
],
|
| 21 |
+
"text_encoder_2": [
|
| 22 |
+
"transformers",
|
| 23 |
+
"CLIPTextModelWithProjection"
|
| 24 |
+
],
|
| 25 |
+
"tokenizer": [
|
| 26 |
+
"transformers",
|
| 27 |
+
"CLIPTokenizer"
|
| 28 |
+
],
|
| 29 |
+
"tokenizer_2": [
|
| 30 |
+
"transformers",
|
| 31 |
+
"CLIPTokenizer"
|
| 32 |
+
],
|
| 33 |
+
"unet": [
|
| 34 |
+
"diffusers",
|
| 35 |
+
"UNet2DConditionModel"
|
| 36 |
+
],
|
| 37 |
+
"vae": [
|
| 38 |
+
"diffusers",
|
| 39 |
+
"AutoencoderKL"
|
| 40 |
+
]
|
| 41 |
+
}
|
scheduler/scheduler_config.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "EulerDiscreteScheduler",
|
| 3 |
+
"_diffusers_version": "0.37.0.dev0",
|
| 4 |
+
"beta_end": 0.012,
|
| 5 |
+
"beta_schedule": "scaled_linear",
|
| 6 |
+
"beta_start": 0.00085,
|
| 7 |
+
"clip_sample": false,
|
| 8 |
+
"final_sigmas_type": "zero",
|
| 9 |
+
"interpolation_type": "linear",
|
| 10 |
+
"num_train_timesteps": 1000,
|
| 11 |
+
"prediction_type": "epsilon",
|
| 12 |
+
"rescale_betas_zero_snr": false,
|
| 13 |
+
"sample_max_value": 1.0,
|
| 14 |
+
"set_alpha_to_one": false,
|
| 15 |
+
"sigma_max": null,
|
| 16 |
+
"sigma_min": null,
|
| 17 |
+
"skip_prk_steps": true,
|
| 18 |
+
"steps_offset": 1,
|
| 19 |
+
"timestep_spacing": "leading",
|
| 20 |
+
"timestep_type": "discrete",
|
| 21 |
+
"trained_betas": null,
|
| 22 |
+
"use_beta_sigmas": false,
|
| 23 |
+
"use_exponential_sigmas": false,
|
| 24 |
+
"use_karras_sigmas": false
|
| 25 |
+
}
|
svdq-fp4_r32-oneObsession_v19.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4671eea299428e84b35d4326bc4b98543469c9c2adbeb90172cc52abe1c0ac5c
|
| 3 |
+
size 2619177752
|
svdq-int4_r32-oneObsession_v19.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bf1c0c3a47de02b5e10afb1fad97d987ac4c2353c67d8d42493d7a584fa9f382
|
| 3 |
+
size 2559021296
|
text_encoder/config.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"CLIPTextModel"
|
| 4 |
+
],
|
| 5 |
+
"attention_dropout": 0.0,
|
| 6 |
+
"bos_token_id": 0,
|
| 7 |
+
"dropout": 0.0,
|
| 8 |
+
"dtype": "float16",
|
| 9 |
+
"eos_token_id": 2,
|
| 10 |
+
"hidden_act": "quick_gelu",
|
| 11 |
+
"hidden_size": 768,
|
| 12 |
+
"initializer_factor": 1.0,
|
| 13 |
+
"initializer_range": 0.02,
|
| 14 |
+
"intermediate_size": 3072,
|
| 15 |
+
"layer_norm_eps": 1e-05,
|
| 16 |
+
"max_position_embeddings": 77,
|
| 17 |
+
"model_type": "clip_text_model",
|
| 18 |
+
"num_attention_heads": 12,
|
| 19 |
+
"num_hidden_layers": 12,
|
| 20 |
+
"pad_token_id": 1,
|
| 21 |
+
"projection_dim": 768,
|
| 22 |
+
"transformers_version": "4.57.3",
|
| 23 |
+
"vocab_size": 49408
|
| 24 |
+
}
|
text_encoder/model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d3b790de2bfcbcd3aac10c436b3e95274b546c42ed76c7b127c11016f341f4e4
|
| 3 |
+
size 246144152
|
text_encoder_2/config.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"CLIPTextModelWithProjection"
|
| 4 |
+
],
|
| 5 |
+
"attention_dropout": 0.0,
|
| 6 |
+
"bos_token_id": 0,
|
| 7 |
+
"dropout": 0.0,
|
| 8 |
+
"dtype": "float16",
|
| 9 |
+
"eos_token_id": 2,
|
| 10 |
+
"hidden_act": "gelu",
|
| 11 |
+
"hidden_size": 1280,
|
| 12 |
+
"initializer_factor": 1.0,
|
| 13 |
+
"initializer_range": 0.02,
|
| 14 |
+
"intermediate_size": 5120,
|
| 15 |
+
"layer_norm_eps": 1e-05,
|
| 16 |
+
"max_position_embeddings": 77,
|
| 17 |
+
"model_type": "clip_text_model",
|
| 18 |
+
"num_attention_heads": 20,
|
| 19 |
+
"num_hidden_layers": 32,
|
| 20 |
+
"pad_token_id": 1,
|
| 21 |
+
"projection_dim": 1280,
|
| 22 |
+
"transformers_version": "4.57.3",
|
| 23 |
+
"vocab_size": 49408
|
| 24 |
+
}
|
text_encoder_2/model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:df97bf7edb4db00998b61a993b862b41993484acd37f4d9ca9da2abe5ceaf48a
|
| 3 |
+
size 1389382176
|
tokenizer/merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer/special_tokens_map.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": {
|
| 3 |
+
"content": "<|startoftext|>",
|
| 4 |
+
"lstrip": false,
|
| 5 |
+
"normalized": true,
|
| 6 |
+
"rstrip": false,
|
| 7 |
+
"single_word": false
|
| 8 |
+
},
|
| 9 |
+
"eos_token": {
|
| 10 |
+
"content": "<|endoftext|>",
|
| 11 |
+
"lstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"rstrip": false,
|
| 14 |
+
"single_word": false
|
| 15 |
+
},
|
| 16 |
+
"pad_token": {
|
| 17 |
+
"content": "<|endoftext|>",
|
| 18 |
+
"lstrip": false,
|
| 19 |
+
"normalized": false,
|
| 20 |
+
"rstrip": false,
|
| 21 |
+
"single_word": false
|
| 22 |
+
},
|
| 23 |
+
"unk_token": {
|
| 24 |
+
"content": "<|endoftext|>",
|
| 25 |
+
"lstrip": false,
|
| 26 |
+
"normalized": false,
|
| 27 |
+
"rstrip": false,
|
| 28 |
+
"single_word": false
|
| 29 |
+
}
|
| 30 |
+
}
|
tokenizer/tokenizer_config.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": false,
|
| 3 |
+
"added_tokens_decoder": {
|
| 4 |
+
"49406": {
|
| 5 |
+
"content": "<|startoftext|>",
|
| 6 |
+
"lstrip": false,
|
| 7 |
+
"normalized": true,
|
| 8 |
+
"rstrip": false,
|
| 9 |
+
"single_word": false,
|
| 10 |
+
"special": true
|
| 11 |
+
},
|
| 12 |
+
"49407": {
|
| 13 |
+
"content": "<|endoftext|>",
|
| 14 |
+
"lstrip": false,
|
| 15 |
+
"normalized": false,
|
| 16 |
+
"rstrip": false,
|
| 17 |
+
"single_word": false,
|
| 18 |
+
"special": true
|
| 19 |
+
}
|
| 20 |
+
},
|
| 21 |
+
"bos_token": "<|startoftext|>",
|
| 22 |
+
"clean_up_tokenization_spaces": false,
|
| 23 |
+
"do_lower_case": true,
|
| 24 |
+
"eos_token": "<|endoftext|>",
|
| 25 |
+
"errors": "replace",
|
| 26 |
+
"extra_special_tokens": {},
|
| 27 |
+
"model_max_length": 77,
|
| 28 |
+
"pad_token": "<|endoftext|>",
|
| 29 |
+
"tokenizer_class": "CLIPTokenizer",
|
| 30 |
+
"unk_token": "<|endoftext|>"
|
| 31 |
+
}
|
tokenizer/vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_2/merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_2/special_tokens_map.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": {
|
| 3 |
+
"content": "<|startoftext|>",
|
| 4 |
+
"lstrip": false,
|
| 5 |
+
"normalized": true,
|
| 6 |
+
"rstrip": false,
|
| 7 |
+
"single_word": false
|
| 8 |
+
},
|
| 9 |
+
"eos_token": {
|
| 10 |
+
"content": "<|endoftext|>",
|
| 11 |
+
"lstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"rstrip": false,
|
| 14 |
+
"single_word": false
|
| 15 |
+
},
|
| 16 |
+
"pad_token": "!",
|
| 17 |
+
"unk_token": {
|
| 18 |
+
"content": "<|endoftext|>",
|
| 19 |
+
"lstrip": false,
|
| 20 |
+
"normalized": false,
|
| 21 |
+
"rstrip": false,
|
| 22 |
+
"single_word": false
|
| 23 |
+
}
|
| 24 |
+
}
|
tokenizer_2/tokenizer_config.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": false,
|
| 3 |
+
"added_tokens_decoder": {
|
| 4 |
+
"0": {
|
| 5 |
+
"content": "!",
|
| 6 |
+
"lstrip": false,
|
| 7 |
+
"normalized": false,
|
| 8 |
+
"rstrip": false,
|
| 9 |
+
"single_word": false,
|
| 10 |
+
"special": true
|
| 11 |
+
},
|
| 12 |
+
"49406": {
|
| 13 |
+
"content": "<|startoftext|>",
|
| 14 |
+
"lstrip": false,
|
| 15 |
+
"normalized": true,
|
| 16 |
+
"rstrip": false,
|
| 17 |
+
"single_word": false,
|
| 18 |
+
"special": true
|
| 19 |
+
},
|
| 20 |
+
"49407": {
|
| 21 |
+
"content": "<|endoftext|>",
|
| 22 |
+
"lstrip": false,
|
| 23 |
+
"normalized": false,
|
| 24 |
+
"rstrip": false,
|
| 25 |
+
"single_word": false,
|
| 26 |
+
"special": true
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
"bos_token": "<|startoftext|>",
|
| 30 |
+
"clean_up_tokenization_spaces": false,
|
| 31 |
+
"do_lower_case": true,
|
| 32 |
+
"eos_token": "<|endoftext|>",
|
| 33 |
+
"errors": "replace",
|
| 34 |
+
"extra_special_tokens": {},
|
| 35 |
+
"model_max_length": 77,
|
| 36 |
+
"pad_token": "!",
|
| 37 |
+
"tokenizer_class": "CLIPTokenizer",
|
| 38 |
+
"unk_token": "<|endoftext|>"
|
| 39 |
+
}
|
tokenizer_2/vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
unet/config.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "UNet2DConditionModel",
|
| 3 |
+
"_diffusers_version": "0.37.0.dev0",
|
| 4 |
+
"act_fn": "silu",
|
| 5 |
+
"addition_embed_type": "text_time",
|
| 6 |
+
"addition_embed_type_num_heads": 64,
|
| 7 |
+
"addition_time_embed_dim": 256,
|
| 8 |
+
"attention_head_dim": [
|
| 9 |
+
5,
|
| 10 |
+
10,
|
| 11 |
+
20
|
| 12 |
+
],
|
| 13 |
+
"attention_type": "default",
|
| 14 |
+
"block_out_channels": [
|
| 15 |
+
320,
|
| 16 |
+
640,
|
| 17 |
+
1280
|
| 18 |
+
],
|
| 19 |
+
"center_input_sample": false,
|
| 20 |
+
"class_embed_type": null,
|
| 21 |
+
"class_embeddings_concat": false,
|
| 22 |
+
"conv_in_kernel": 3,
|
| 23 |
+
"conv_out_kernel": 3,
|
| 24 |
+
"cross_attention_dim": 2048,
|
| 25 |
+
"cross_attention_norm": null,
|
| 26 |
+
"down_block_types": [
|
| 27 |
+
"DownBlock2D",
|
| 28 |
+
"CrossAttnDownBlock2D",
|
| 29 |
+
"CrossAttnDownBlock2D"
|
| 30 |
+
],
|
| 31 |
+
"downsample_padding": 1,
|
| 32 |
+
"dropout": 0.0,
|
| 33 |
+
"dual_cross_attention": false,
|
| 34 |
+
"encoder_hid_dim": null,
|
| 35 |
+
"encoder_hid_dim_type": null,
|
| 36 |
+
"flip_sin_to_cos": true,
|
| 37 |
+
"freq_shift": 0,
|
| 38 |
+
"in_channels": 4,
|
| 39 |
+
"layers_per_block": 2,
|
| 40 |
+
"mid_block_only_cross_attention": null,
|
| 41 |
+
"mid_block_scale_factor": 1,
|
| 42 |
+
"mid_block_type": "UNetMidBlock2DCrossAttn",
|
| 43 |
+
"norm_eps": 1e-05,
|
| 44 |
+
"norm_num_groups": 32,
|
| 45 |
+
"num_attention_heads": null,
|
| 46 |
+
"num_class_embeds": null,
|
| 47 |
+
"only_cross_attention": false,
|
| 48 |
+
"out_channels": 4,
|
| 49 |
+
"projection_class_embeddings_input_dim": 2816,
|
| 50 |
+
"resnet_out_scale_factor": 1.0,
|
| 51 |
+
"resnet_skip_time_act": false,
|
| 52 |
+
"resnet_time_scale_shift": "default",
|
| 53 |
+
"reverse_transformer_layers_per_block": null,
|
| 54 |
+
"sample_size": 128,
|
| 55 |
+
"time_cond_proj_dim": null,
|
| 56 |
+
"time_embedding_act_fn": null,
|
| 57 |
+
"time_embedding_dim": null,
|
| 58 |
+
"time_embedding_type": "positional",
|
| 59 |
+
"timestep_post_act": null,
|
| 60 |
+
"transformer_layers_per_block": [
|
| 61 |
+
1,
|
| 62 |
+
2,
|
| 63 |
+
10
|
| 64 |
+
],
|
| 65 |
+
"up_block_types": [
|
| 66 |
+
"CrossAttnUpBlock2D",
|
| 67 |
+
"CrossAttnUpBlock2D",
|
| 68 |
+
"UpBlock2D"
|
| 69 |
+
],
|
| 70 |
+
"upcast_attention": false,
|
| 71 |
+
"use_linear_projection": true
|
| 72 |
+
}
|
unet/diffusion_pytorch_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bd8ef3e0e133d4ae6fd0590fda8c9914e9229719841b3803d56bd13595ff19b9
|
| 3 |
+
size 5135149760
|
vae/config.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "AutoencoderKL",
|
| 3 |
+
"_diffusers_version": "0.37.0.dev0",
|
| 4 |
+
"act_fn": "silu",
|
| 5 |
+
"block_out_channels": [
|
| 6 |
+
128,
|
| 7 |
+
256,
|
| 8 |
+
512,
|
| 9 |
+
512
|
| 10 |
+
],
|
| 11 |
+
"down_block_types": [
|
| 12 |
+
"DownEncoderBlock2D",
|
| 13 |
+
"DownEncoderBlock2D",
|
| 14 |
+
"DownEncoderBlock2D",
|
| 15 |
+
"DownEncoderBlock2D"
|
| 16 |
+
],
|
| 17 |
+
"force_upcast": true,
|
| 18 |
+
"in_channels": 3,
|
| 19 |
+
"latent_channels": 4,
|
| 20 |
+
"latents_mean": null,
|
| 21 |
+
"latents_std": null,
|
| 22 |
+
"layers_per_block": 2,
|
| 23 |
+
"mid_block_add_attention": true,
|
| 24 |
+
"norm_num_groups": 32,
|
| 25 |
+
"out_channels": 3,
|
| 26 |
+
"sample_size": 1024,
|
| 27 |
+
"scaling_factor": 0.13025,
|
| 28 |
+
"shift_factor": null,
|
| 29 |
+
"up_block_types": [
|
| 30 |
+
"UpDecoderBlock2D",
|
| 31 |
+
"UpDecoderBlock2D",
|
| 32 |
+
"UpDecoderBlock2D",
|
| 33 |
+
"UpDecoderBlock2D"
|
| 34 |
+
],
|
| 35 |
+
"use_post_quant_conv": true,
|
| 36 |
+
"use_quant_conv": true
|
| 37 |
+
}
|
vae/diffusion_pytorch_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bcb60880a46b63dea58e9bc591abe15f8350bde47b405f9c38f4be70c6161e68
|
| 3 |
+
size 167335342
|