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
| { | |
| "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 | |
| } | |
| } |