--- license: cc-by-nc-4.0 --- **Github repo**: https://github.com/magic-research/piecewise-rectified-flow
**PeRFlow accelerated SDXL-base**: https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0 **Demo:** ```python from pathlib import Path import torch, torchvision from diffusers import StableDiffusionXLPipeline pipe = StableDiffusionXLPipeline.from_pretrained("hansyan/perflow-sdxl-base", torch_dtype=torch.float16, use_safetensors=True, variant="v0-fix") from src.scheduler_perflow import PeRFlowScheduler pipe.scheduler = PeRFlowScheduler.from_config(pipe.scheduler.config, prediction_type="ddim_eps", num_time_windows=4) pipe.to("cuda", torch.float16) prompts_list = [ ["photorealistic, uhd, high resolution, high quality, highly detailed; RAW photo, a handsome man, wearing a black coat, outside, closeup face", "distorted, blur, low-quality, haze, out of focus",], ["photorealistic, uhd, high resolution, high quality, highly detailed; masterpiece, A closeup face photo of girl, wearing a rain coat, in the street, heavy rain, bokeh,", "distorted, blur, low-quality, haze, out of focus",], ["photorealistic, uhd, high resolution, high quality, highly detailed; RAW photo, a red luxury car, studio light", "distorted, blur, low-quality, haze, out of focus",], ["photorealistic, uhd, high resolution, high quality, highly detailed; masterpiece, A beautiful cat bask in the sun", "distorted, blur, low-quality, haze, out of focus",], ] num_inference_steps = 6 # suggest steps >= num_win=4 cfg_scale_list = [2.0] # suggest values [1.5, 2.0, 2.5] num_img = 2 seed = 42 for cfg_scale in cfg_scale_list: for i, prompts in enumerate(prompts_list): setup_seed(seed) prompt, neg_prompt = prompts[0], prompts[1] samples = pipe( prompt = [prompt] * num_img, negative_prompt = [neg_prompt] * num_img, height = 1024, width = 1024, num_inference_steps = num_inference_steps, guidance_scale = cfg_scale, output_type = 'pt', ).images cfg_int = int(cfg_scale); cfg_float = int(cfg_scale*10 - cfg_int*10) save_name = f'step_{num_inference_steps}_txt{i+1}_cfg{cfg_int}-{cfg_float}.png' torchvision.utils.save_image(torchvision.utils.make_grid(samples, nrow = num_img), os.path.join("demo", save_name)) ```