--- 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](https://civitai.com/models/3671?modelVersionId=658237). See the original page for more information. Keep in mind that this is [SDXL-Lightning](https://huggingface.co/ByteDance/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. ```py !pip install -q diffusers transformers accelerate ``` ### Model Installation 💿 After the installation, you can run SDXL with Yiffymix v51 model using the code below: ```py 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](https://huggingface.co/docs/diffusers/v0.11.0/en/api/schedulers/overview). 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](https://huggingface.co/docs/diffusers/v0.29.2/en/api/schedulers/euler#diffusers.EulerDiscreteScheduler) from Diffusers by adding this line of code. ```py from diffusers import StableDiffusionXLPipeline, EulerDiscreteScheduler ``` Next step is to load the scheduler. ```py 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](https://huggingface.co/docs/diffusers/v0.29.2/api/schedulers/multistep_dpm_solver) from Diffusers first. ```py from diffusers import StableDiffusionXLPipeline, DPMSolverMultistepScheduler ``` Next, load the scheduler into the model. ```py 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!