|
--- |
|
license: creativeml-openrail-m |
|
tags: |
|
- text-to-image |
|
- stable-diffusion |
|
- lora |
|
- diffusers |
|
base_model: stabilityai/stable-diffusion-xl-base-1.0 |
|
instance_prompt: pixel art |
|
widget: |
|
- text: pixel art, a cute corgi, simple, flat colors |
|
datasets: |
|
- mlfoundations/dclm-baseline-1.0 |
|
pipeline_tag: text-to-image |
|
--- |
|
# Pixel Art XL |
|
## Consider supporting further research on [Patreon](https://www.patreon.com/user?u=29466374) or [Twitter](https://twitter.com/nerijs) |
|
|
|
![F1hS8XHXwAQrMEW.jpeg](https://cdn-uploads.huggingface.co/production/uploads/6303f37c3926de1f7ec42d3e/SSOQ9lfB1PVhXVWJiL7Mx.jpeg) |
|
![F1hS489X0AE-PK5.jpeg](https://cdn-uploads.huggingface.co/production/uploads/6303f37c3926de1f7ec42d3e/tY19J3xWDlSY2hhTTHySc.jpeg) |
|
|
|
|
|
Downscale 8 times to get pixel perfect images (use Nearest Neighbors) |
|
Use a fixed VAE to avoid artifacts (0.9 or fp16 fix) |
|
|
|
### Need more performance? |
|
Use it with a LCM Lora! |
|
|
|
Use 8 steps and guidance scale of 1.5 |
|
1.2 Lora strength for the Pixel Art XL works better |
|
|
|
```python |
|
from diffusers import DiffusionPipeline, LCMScheduler |
|
import torch |
|
|
|
model_id = "stabilityai/stable-diffusion-xl-base-1.0" |
|
lcm_lora_id = "latent-consistency/lcm-lora-sdxl" |
|
pipe = DiffusionPipeline.from_pretrained(model_id, variant="fp16") |
|
pipe.scheduler = LCMScheduler.from_config(pipe.scheduler.config) |
|
|
|
pipe.load_lora_weights(lcm_lora_id, adapter_name="lora") |
|
pipe.load_lora_weights("./pixel-art-xl.safetensors", adapter_name="pixel") |
|
|
|
pipe.set_adapters(["lora", "pixel"], adapter_weights=[1.0, 1.2]) |
|
pipe.to(device="cuda", dtype=torch.float16) |
|
|
|
prompt = "pixel, a cute corgi" |
|
negative_prompt = "3d render, realistic" |
|
|
|
num_images = 9 |
|
|
|
for i in range(num_images): |
|
img = pipe( |
|
prompt=prompt, |
|
negative_prompt=negative_prompt, |
|
num_inference_steps=8, |
|
guidance_scale=1.5, |
|
).images[0] |
|
|
|
img.save(f"lcm_lora_{i}.png") |
|
``` |
|
|
|
### Tips: |
|
Don't use refiner |
|
|
|
Works great with only 1 text encoder |
|
|
|
No style prompt required |
|
|
|
No trigger keyword require |
|
|
|
Works great with isometric and non-isometric |
|
|
|
Works with 0.9 and 1.0 |
|
|
|
#### Changelog |
|
v1: Initial release |