license: bigscience-bloom-rail-1.0
language:
- en
library_name: diffusers
tags:
- stable-diffusion
- text-to-image
pony-diffusion-g5 - a new generation of waifus
UPDATE: Plot twist I made a new version of this model which has much higher quality and is based on LoCon and with Mane 5 + Misty! pony-diffusion-g5-lora
UPDATE: due to lots of poor results generated from the model and I will no longer update this model, please use pony-diffusion-v4 instead which is way better trust me they've got experts doing training stuff
pony-diffusion-g5 is a latent text-to-image diffusion model that has been conditioned on high quality pony images through fine-tuning.
Finetuned for MLP G5 main characters, based on AstraliteHeart/pony-diffusion
!!IMPORTANT: DUE TO LACK OF DATASETS ONLY SUNNY AND IZZY CAN GENERATE QUALITY IMAGES
!!IMPORTANT: TRY NEGATIVE PROMPT "3d, sfm"
Dataset criteria
All training images are from Derpibooru using the search criteria below
- General: "g5, safe, solo, score.gte:250, -webm, -animate || g5, suggestive, solo, score.gte:250, -webm, -animate", 856 entries wo/ gifs, ~15 epochs
Why the model's quality is uh, meh?
The amount of G5 pony images within the search criteria is little, so don't really expect the quality to be as high as the original model is
Also bcs im new to ai stuff i don't know how to train datasets correctly if u could help me great thx
Example code
from diffusers import StableDiffusionPipeline
import torch
from diffusers import DDIMScheduler
model_path = "GrieferPig/pony-diffusion-g5"
prompt = "((((sunny starscout)))), pony, smiling, looking away, running in forest, cute, portrait, digital painting, dawn, smooth, sharp, focus, depth of field, bright, Unreal Engine, 4k, cinematic"
negative= "3d sfm"
# torch.manual_seed(1145141919810)
pipe = StableDiffusionPipeline.from_pretrained(
model_path,
torch_dtype=torch.float16,
scheduler=DDIMScheduler(
beta_start=0.00085,
beta_end=0.012,
beta_schedule="scaled_linear",
clip_sample=False,
set_alpha_to_one=True,
),
# safety_checker=None
)
pipe = pipe.to("cuda")
images = pipe(prompt, width=512, height=512, num_inference_steps=50, num_images_per_prompt=5, negative_prompt=negative).images
for i, image in enumerate(images):
image.save(f"test-{i}.png")
Thanks
AstraliteHeart/pony-diffusion, for providing a solid start-point to train on
This project would not have been possible without the incredible work by the CompVis Researchers.
With special thanks to Waifu-Diffusion for providing finetuning expertise and Novel AI for providing necessary compute.