import torch #import xformers #import triton from PIL.Image import Image from onediffx.deep_cache import StableDiffusionXLPipeline #from diffusers import StableDiffusionXLPipeline from pipelines.models import TextToImageRequest from torch import Generator from diffusers import DDIMScheduler from loss import SchedulerWrapper #from onediff.schedulers import EulerDiscreteScheduler from onediffx import compile_pipe def load_pipeline(pipeline=None) -> StableDiffusionXLPipeline: if not pipeline: pipeline = StableDiffusionXLPipeline.from_pretrained( "stablediffusionapi/newdream-sdxl-20", torch_dtype=torch.float16, ) pipeline.to("cuda") pipeline.scheduler = SchedulerWrapper(DDIMScheduler.from_config(pipeline.scheduler.config)) pipeline = compile_pipe(pipeline) pipeline.scheduler.prepare_loss() for _ in range(4): deepcache_output = pipeline(prompt="kamala harris defends my submission", output_type="pil", cache_interval=1, cache_layer_id=1, cache_block_id=0) return pipeline def infer(request: TextToImageRequest, pipeline: StableDiffusionXLPipeline) -> Image: if request.seed is None: generator = None else: generator = Generator(pipeline.device).manual_seed(request.seed) return pipeline( prompt=request.prompt, negative_prompt=request.negative_prompt, width=request.width, height=request.height, generator=generator, end_cfg=0.5, num_inference_steps=14, cache_interval=1, cache_layer_id=1, cache_block_id=0, eta=1, guidance_scale = 5.0, guidance_rescale = 0.0, ).images[0]