File size: 2,363 Bytes
994e46a 40f663f 6a63c98 73fa0da 6a63c98 73fa0da 6a63c98 6fca9e2 994e46a 6fca9e2 715e74d 994e46a e81c441 994e46a b70e3a2 fcf7a9c 994e46a fcf7a9c 994e46a fcf7a9c 6a63c98 994e46a b70e3a2 994e46a fcf7a9c 994e46a fcf7a9c 994e46a 6a63c98 b70e3a2 994e46a fcf7a9c 994e46a fcf7a9c 994e46a fcf7a9c 994e46a fcf7a9c 994e46a e81c441 994e46a fcf7a9c 994e46a 715e74d |
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 |
---
language:
- en
pipeline_tag: unconditional-image-generation
tags:
- Diffusion Models
- Stable Diffusion
- Perturbed-Attention Guidance
- PAG
---
# Perturbed-Attention Guidance for SDXL
<div style="display:flex">
<video width=50% autoplay loop>
<source src="https://huggingface.co/multimodalart/sdxl_perturbed_attention_guidance/resolve/main/pag_sdxl.mp4" type="video/mp4">
</video>
<video width=50% autoplay loop>
<source src="https://huggingface.co/multimodalart/sdxl_perturbed_attention_guidance/resolve/main/pag_uncond.mp4" type="video/mp4">
</video>
</div>
The original Perturbed-Attention Guidance for unconditional models and SD1.5 by [Hyoungwon Cho](https://huggingface.co/hyoungwoncho) is availiable at [hyoungwoncho/sd_perturbed_attention_guidance](https://huggingface.co/hyoungwoncho/sd_perturbed_attention_guidance)
[Project](https://ku-cvlab.github.io/Perturbed-Attention-Guidance/) / [arXiv](https://arxiv.org/abs/2403.17377) / [GitHub](https://github.com/KU-CVLAB/Perturbed-Attention-Guidance)
This repository is just a simple SDXL implementation of the Perturbed-Attention Guidance (PAG) on Stable Diffusion XL (SDXL) for the 🧨 diffusers library.
## Quickstart
Loading Custom Pipeline:
```py
from diffusers import StableDiffusionXLPipeline
pipe = StableDiffusionXLPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0",
custom_pipeline="multimodalart/sdxl_perturbed_attention_guidance",
torch_dtype=torch.float16
)
device="cuda"
pipe = pipe.to(device)
```
Unconditional sampling with PAG:
![image/jpeg](uncond_generation_pag.jpg)
```py
output = pipe(
"",
num_inference_steps=50,
guidance_scale=0.0,
pag_scale=5.0,
pag_applied_layers=['mid']
).images
```
Sampling with PAG and CFG:
![image/jpeg](cfgpag.jpg)
```py
output = pipe(
"the spirit of a tamagotchi wandering in the city of Vienna",
num_inference_steps=25,
guidance_scale=4.0,
pag_scale=3.0,
pag_applied_layers=['mid']
).images
```
## Parameters
`guidance_scale` : gudiance scale of CFG (ex: `7.5`)
`pag_scale` : gudiance scale of PAG (ex: `4.0`)
`pag_applied_layers`: layer to apply perturbation (ex: ['mid'])
`pag_applied_layers_index` : index of the layers to apply perturbation (ex: ['m0', 'm1'])
## Stable Diffusion XL Demo
Soon |