Instructions to use stabilityai/stable-diffusion-xl-base-0.9 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use stabilityai/stable-diffusion-xl-base-0.9 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-0.9", 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
Wrong num_hidden_layers of text encoders?
This model's text encoders use the last layer:
https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9/blob/main/text_encoder/config.json#L19
https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9/blob/main/text_encoder_2/config.json#L19
But stability's config seems to use the penultimate layer:
https://github.com/Stability-AI/generative-models/blob/5c10deee76adad0032b412294130090932317a87/configs/inference/sd_xl_base.yaml#L49
https://github.com/Stability-AI/generative-models/blob/5c10deee76adad0032b412294130090932317a87/configs/inference/sd_xl_base.yaml#L58
Is this a mistake? Or was it intended?
For diffusers, selecting which layer to use is done when generating, not when loading.