| import torch | |
| from diffusers import LCMScheduler, AutoPipelineForText2Image,DDPMScheduler | |
| from PIL import Image | |
| import numpy as np | |
| import gradio as gr | |
| import os | |
| from transformers import pipeline | |
| def translate(text): | |
| model_checkpoint = "Helsinki-NLP/opus-mt-ko-en" | |
| translator = pipeline("translation", model=model_checkpoint) | |
| translated=translator(text) | |
| translated=translated[0]["translation_text"] | |
| return translated | |
| model_id = "stabilityai/stable-diffusion-xl-base-1.0" | |
| adapter_id = "ksyint/teu_lora" | |
| pipe = AutoPipelineForText2Image.from_pretrained(model_id, torch_dtype=torch.float16, variant="fp16", low_cpu_mem_usage=False) | |
| pipe.scheduler = DDPMScheduler.from_config(pipe.scheduler.config) | |
| pipe.to("cuda") | |
| pipe.load_lora_weights(adapter_id) | |
| pipe.fuse_lora() | |
| def main(English,Korean,Negative_English,Negative_Korean): | |
| english=English | |
| korean=Korean | |
| prompt2="2024SS " | |
| if korean=="" and english is not None: | |
| prompt2+=english | |
| negative=Negative_English | |
| elif english=="" and korean is not None: | |
| prompt2+=translate(korean) | |
| negative=translate(Negative_Korean) | |
| elif english=="" and korean=="": | |
| raise Exception("only one language or at least one language") | |
| else: | |
| raise Exception("only one language or at least one language") | |
| steps=60 | |
| image = pipe(prompt=prompt2, negative_prompt=f"worst quality,multiple people, {negative}",num_inference_steps=steps, guidance_scale=5.0,strength=5.0).images[0] | |
| return image | |
| iface = gr.Interface(fn=main, inputs=["text","text","text","text"], outputs="image", title="Generate 2024SS style from your favorites", | |
| description="Input one Language, English or Korean. Do not input 2024SS") | |
| iface.launch() |