import gradio as gr from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline import torch from langs import LANGS import numpy as np import modin.pandas as pd from PIL import Image from diffusers import DiffusionPipeline #EulerDiscreteScheduler device1 = "cuda" if torch.cuda.is_available() else "cpu" pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1", safety_checker=None) pipe = pipe.to(device1) pipe1 = pipeline('text-generation', model='daspartho/prompt-extend') TASK = "translation" CKPT = "facebook/nllb-200-distilled-600M" model = AutoModelForSeq2SeqLM.from_pretrained(CKPT) tokenizer = AutoTokenizer.from_pretrained(CKPT) device = 0 if torch.cuda.is_available() else -1 def translate(text): """ Translate the text from source lang to target lang """ src_lang = "zho-Hans" tgt_lang = "eng_Latn" max_length = 400 translation_pipeline = pipeline(TASK, model=model, tokenizer=tokenizer, src_lang=src_lang, tgt_lang=tgt_lang, max_length=max_length, device=device) result = translation_pipeline(text) return result[0]['translation_text'] #prompt def extend_prompt(prompt): return pipe1(prompt+',', num_return_sequences=1)[0]["generated_text"] #stable diffusion def genie (prompt, negative_prompt, scale, steps, seed): generator = torch.Generator(device=device1).manual_seed(seed) images = pipe(prompt, negative_prompt=negative_prompt, width=768, height=768, num_inference_steps=steps, guidance_scale=scale, num_images_per_prompt=1, generator=generator).images[0] return images with gr.Blocks() as demo: gr.Markdown( """ #