Text-to-Image
Diffusers
Safetensors
StableDiffusionPipeline
diffusion
sd-turbo
quantization
pruning
distillation
edge-ai
mixed-precision
Instructions to use ChenHe727/EdgeDiffusion with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use ChenHe727/EdgeDiffusion with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("ChenHe727/EdgeDiffusion", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps
- Draw Things
- DiffusionBee
File size: 16,177 Bytes
862bcab | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | {
"distill_step": 10000,
"distill_loss": 1.0463419775873422,
"is_ema": true,
"quantization": {
"method": "mixed_precision_gptq",
"group_size": 128,
"damping": 0.01,
"assignment": {
"down_blocks.0.attentions.0.proj_in": "int4",
"down_blocks.0.attentions.0.proj_out": "int4",
"down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_k": "int4",
"down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_out.0": "int4",
"down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_q": "int4",
"down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_v": "int4",
"down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_k": "int8",
"down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_out.0": "int8",
"down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_q": "int4",
"down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_v": "int8",
"down_blocks.0.attentions.0.transformer_blocks.0.ff.net.0.proj": "int4",
"down_blocks.0.attentions.0.transformer_blocks.0.ff.net.2": "fp16",
"down_blocks.0.attentions.1.proj_in": "int4",
"down_blocks.0.attentions.1.proj_out": "int4",
"down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_k": "int4",
"down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_out.0": "int4",
"down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_q": "int4",
"down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_v": "int4",
"down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_k": "int8",
"down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_out.0": "int8",
"down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_q": "int4",
"down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_v": "int8",
"down_blocks.0.attentions.1.transformer_blocks.0.ff.net.0.proj": "int4",
"down_blocks.0.attentions.1.transformer_blocks.0.ff.net.2": "int8",
"down_blocks.1.attentions.0.proj_in": "fp16",
"down_blocks.1.attentions.0.proj_out": "fp16",
"down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k": "int8",
"down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0": "fp16",
"down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q": "int8",
"down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v": "fp16",
"down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k": "int8",
"down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0": "int8",
"down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q": "int8",
"down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v": "int8",
"down_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj": "fp16",
"down_blocks.1.attentions.0.transformer_blocks.0.ff.net.2": "fp16",
"down_blocks.1.attentions.1.proj_in": "fp16",
"down_blocks.1.attentions.1.proj_out": "fp16",
"down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj": "int8",
"down_blocks.1.attentions.1.transformer_blocks.0.ff.net.2": "int8",
"down_blocks.2.attentions.0.proj_in": "int8",
"down_blocks.2.attentions.0.proj_out": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_k": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_out.0": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_q": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_v": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_k": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_out.0": "int4",
"down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_q": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_v": "int8",
"down_blocks.2.attentions.0.transformer_blocks.0.ff.net.0.proj": "fp16",
"down_blocks.2.attentions.0.transformer_blocks.0.ff.net.2": "int8",
"down_blocks.2.attentions.1.proj_in": "int8",
"down_blocks.2.attentions.1.proj_out": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_k": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_out.0": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_q": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_v": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_k": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_out.0": "int4",
"down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_q": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_v": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.ff.net.0.proj": "int8",
"down_blocks.2.attentions.1.transformer_blocks.0.ff.net.2": "int8",
"mid_block.attentions.0.proj_in": "int8",
"mid_block.attentions.0.proj_out": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn1.to_k": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn1.to_out.0": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn1.to_q": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn1.to_v": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn2.to_k": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn2.to_out.0": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn2.to_q": "int8",
"mid_block.attentions.0.transformer_blocks.0.attn2.to_v": "int8",
"mid_block.attentions.0.transformer_blocks.0.ff.net.0.proj": "int8",
"mid_block.attentions.0.transformer_blocks.0.ff.net.2": "int8",
"up_blocks.1.attentions.0.proj_in": "int8",
"up_blocks.1.attentions.0.proj_out": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0": "int4",
"up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj": "int8",
"up_blocks.1.attentions.0.transformer_blocks.0.ff.net.2": "int8",
"up_blocks.1.attentions.1.proj_in": "int8",
"up_blocks.1.attentions.1.proj_out": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0": "int4",
"up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj": "int8",
"up_blocks.1.attentions.1.transformer_blocks.0.ff.net.2": "int8",
"up_blocks.1.attentions.2.proj_in": "fp16",
"up_blocks.1.attentions.2.proj_out": "fp16",
"up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_k": "int8",
"up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_out.0": "fp16",
"up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_q": "int8",
"up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_v": "fp16",
"up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_out.0": "int4",
"up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_q": "int8",
"up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_v": "int8",
"up_blocks.1.attentions.2.transformer_blocks.0.ff.net.0.proj": "fp16",
"up_blocks.1.attentions.2.transformer_blocks.0.ff.net.2": "int8",
"up_blocks.2.attentions.0.proj_in": "fp16",
"up_blocks.2.attentions.0.proj_out": "fp16",
"up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_k": "int8",
"up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_out.0": "fp16",
"up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_q": "int8",
"up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_v": "int8",
"up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_out.0": "int8",
"up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_q": "int8",
"up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_v": "int8",
"up_blocks.2.attentions.0.transformer_blocks.0.ff.net.0.proj": "fp16",
"up_blocks.2.attentions.0.transformer_blocks.0.ff.net.2": "fp16",
"up_blocks.2.attentions.1.proj_in": "fp16",
"up_blocks.2.attentions.1.proj_out": "fp16",
"up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_k": "int8",
"up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_out.0": "fp16",
"up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_q": "int8",
"up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_v": "fp16",
"up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_out.0": "int8",
"up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_q": "int8",
"up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_v": "fp16",
"up_blocks.2.attentions.1.transformer_blocks.0.ff.net.0.proj": "fp16",
"up_blocks.2.attentions.1.transformer_blocks.0.ff.net.2": "fp16",
"up_blocks.2.attentions.2.proj_in": "fp16",
"up_blocks.2.attentions.2.proj_out": "fp16",
"up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_k": "int8",
"up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_out.0": "fp16",
"up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_q": "int8",
"up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_v": "fp16",
"up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_out.0": "fp16",
"up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_q": "int8",
"up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_v": "int8",
"up_blocks.2.attentions.2.transformer_blocks.0.ff.net.0.proj": "fp16",
"up_blocks.2.attentions.2.transformer_blocks.0.ff.net.2": "fp16",
"up_blocks.3.attentions.0.proj_in": "int4",
"up_blocks.3.attentions.0.proj_out": "int4",
"up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_k": "int4",
"up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_out.0": "int4",
"up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_q": "int4",
"up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_v": "int4",
"up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_out.0": "int8",
"up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_q": "int4",
"up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_v": "int8",
"up_blocks.3.attentions.0.transformer_blocks.0.ff.net.0.proj": "int4",
"up_blocks.3.attentions.0.transformer_blocks.0.ff.net.2": "fp16",
"up_blocks.3.attentions.1.proj_in": "int4",
"up_blocks.3.attentions.1.proj_out": "int4",
"up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_k": "int4",
"up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_out.0": "int4",
"up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_q": "int4",
"up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_v": "int4",
"up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_out.0": "fp16",
"up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_q": "int4",
"up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_v": "fp16",
"up_blocks.3.attentions.1.transformer_blocks.0.ff.net.0.proj": "int4",
"up_blocks.3.attentions.1.transformer_blocks.0.ff.net.2": "fp16",
"up_blocks.3.attentions.2.proj_in": "int4",
"up_blocks.3.attentions.2.proj_out": "int4",
"up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_k": "int4",
"up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_out.0": "int4",
"up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_q": "int4",
"up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_v": "int4",
"up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_k": "int8",
"up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_out.0": "int8",
"up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_q": "int4",
"up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_v": "fp16",
"up_blocks.3.attentions.2.transformer_blocks.0.ff.net.0.proj": "int4",
"up_blocks.3.attentions.2.transformer_blocks.0.ff.net.2": "fp16"
},
"size_reduction": 0.3753969219677904,
"model_dtype": "bfloat16"
},
"model_config": {
"sample_size": 64,
"in_channels": 4,
"out_channels": 4,
"center_input_sample": false,
"flip_sin_to_cos": true,
"freq_shift": 0,
"down_block_types": [
"CrossAttnDownBlock2D",
"CrossAttnDownBlock2D",
"CrossAttnDownBlock2D",
"DownBlock2D"
],
"mid_block_type": "UNetMidBlock2DCrossAttn",
"up_block_types": [
"UpBlock2D",
"CrossAttnUpBlock2D",
"CrossAttnUpBlock2D",
"CrossAttnUpBlock2D"
],
"only_cross_attention": false,
"block_out_channels": [
320,
640,
1280,
1280
],
"layers_per_block": 2,
"downsample_padding": 1,
"mid_block_scale_factor": 1,
"dropout": 0.0,
"act_fn": "silu",
"norm_num_groups": 32,
"norm_eps": 1e-05,
"cross_attention_dim": 1024,
"transformer_layers_per_block": 1,
"reverse_transformer_layers_per_block": null,
"encoder_hid_dim": null,
"encoder_hid_dim_type": null,
"attention_head_dim": [
5,
10,
20,
20
],
"num_attention_heads": null,
"dual_cross_attention": false,
"use_linear_projection": true,
"class_embed_type": null,
"addition_embed_type": null,
"addition_time_embed_dim": null,
"num_class_embeds": null,
"upcast_attention": null,
"resnet_time_scale_shift": "default",
"resnet_skip_time_act": false,
"resnet_out_scale_factor": 1.0,
"time_embedding_type": "positional",
"time_embedding_dim": null,
"time_embedding_act_fn": null,
"timestep_post_act": null,
"time_cond_proj_dim": null,
"conv_in_kernel": 3,
"conv_out_kernel": 3,
"projection_class_embeddings_input_dim": null,
"attention_type": "default",
"class_embeddings_concat": false,
"mid_block_only_cross_attention": null,
"cross_attention_norm": null,
"addition_embed_type_num_heads": 64
}
} |