Yiffymix_v51-XL / README.md
IDK-ab0ut's picture
Nope.
e4a37ca verified
|
raw
history blame
3.49 kB
metadata
license: creativeml-openrail-m
language:
  - en
pipeline_tag: text-to-image
tags:
  - art

Overview πŸ“ƒβœοΈ

This is a Diffusers-compatible version of Yiffymix v51 by chilon249. See the original page for more information.

Keep in mind that this is SDXL-Lightning checkpoint model, so using fewer steps (around 12 to 25) and low guidance scale (around 4 to 6) is recommended for the best result. It's also recommended to use clip skip of 2.

This repo uses DPM++ 2M Karras as its sampler (Diffusers only).

Diffusers Installation 🧨

Dependencies Installation πŸ“

First, you'll need to install few dependencies. This is a one-time operation, you only need to run the code once.

!pip install -q diffusers transformers accelerate

Model Installation πŸ’Ώ

After the installation, you can run SDXL with Yiffymix v51 model using the code below:

from diffusers import StableDiffusionXLPipeline
import torch

model = "IDK-ab0ut/Yiffymix_v51-XL"
pipeline = StableDiffusionXLPipeline.from_pretrained(
           model, torch_dtype=torch.float16).to("cuda")

prompt = "a cat, detailed background, dynamic lighting"
negative_prompt = "low resolution, bad quality, deformed"
steps = 25
guidance_scale = 4
image = pipeline(prompt=prompt, negative_prompt=negative_prompt,
        num_inference_steps=steps, guidance_scale=guidance_scale,
        clip_skip=2).images[0]
image

Feel free to edit the image's configuration with your desire.

Scheduler's Customization βš™οΈ

γ…€γ…€γ…€γ…€πŸ§¨For Diffusers🧨

You can see all available schedulers here.

To use scheduler other than DPM++ 2M Karras for this repo, make sure to import the corresponding pipeline for the scheduler you want to use. For example, we want to use Euler. First, import EulerDiscreteScheduler from Diffusers by adding this line of code.

from diffusers import StableDiffusionXLPipeline, EulerDiscreteScheduler

Next step is to load the scheduler.

model = "IDK-ab0ut/Yiffymix_v51"
euler = EulerDiscreteScheduler.from_pretrained(
        model, subfolder="scheduler")
pipeline = StableDiffusionXLPipeline.from_pretrained(
           model, scheduler=euler, torch.dtype=torch.float16
           ).to("cuda")

Now you can generate any images using the scheduler you want.

Another example is using DPM++ 2M SDE Karras. We want to import DPMSolverMultistepScheduler from Diffusers first.

from diffusers import StableDiffusionXLPipeline, DPMSolverMultistepScheduler

Next, load the scheduler into the model.

model = "IDK-ab0ut/Yiffymix_v51"
dpmsolver = DPMSolverMultistepScheduler.from_pretrained(
            model, subfolder="scheduler", use_karras_sigmas=True,
            algorithm_type="sde-dpmsolver++").to("cuda")
# 'use_karras_sigmas' is called to make the scheduler
# use Karras sigmas during sampling.
pipeline = StableDiffusionXLPipeline.from_pretrained(
           model, scheduler=dpmsolver, torch.dtype=torch.float16,
           ).to("cuda")

That's all for this repository. Thank you for reading my silly note. Have a nice day!