Spaces:
Runtime error
Runtime error
import gradio as gr | |
#from transformers import pipeline | |
import torch | |
from diffusers import DiffusionPipeline | |
import platform | |
inCloud = True | |
#translator = pipeline("translation", model = "Helsinki-NLP/opus-mt-es-en") | |
pipe = '' | |
if inCloud: | |
pipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5") | |
if platform.system() == "Darwin": #Apple OS | |
pipe = pipe.to("mps") | |
#pipe = pipe.to("cuda") | |
# Recommended if your computer has < 64 GB of RAM | |
pipe.enable_attention_slicing() | |
textos = [ | |
'''脡rase una vez un hombre muy rico que vendi贸 todo lo que ten铆a a cambio de varios lingotes de oro. Y para que nadie le robara, enterr贸 el oro en un bosque. Todos los d铆as acud铆a al lugar para comprobar que su oro segu铆a all铆, sin saber que un ladr贸n lo vigilaba escondido. | |
Una noche, el ladr贸n desenterr贸 el oro y se lo llev贸. Cuando el rico descubri贸 el robo, dio tal grito que un vecino se acerc贸 a ver qu茅 pasaba. El hombre rico lloraba, desesperado. Entonces el vecino tom贸 unas piedras, las enterr贸 en el mismo lugar y dijo: | |
鈥擜qu铆 tiene su tesoro. Sabe que nunca habr铆a gastado sus lingotes. 驴Qu茅 m谩s le da, entonces, que sean piedras? As铆 por lo menos dejar谩 de sufrir.''' | |
] | |
#def translate(text): | |
# return translator(text)[0]["translation_text"] | |
def generate_texts_array(text, max_length = 70): | |
text_array = [] | |
start = 0 | |
while start < len(text): | |
end = start + max_length | |
part = text[start:end] | |
text_array.append(part) | |
start = end | |
return text_array | |
def generation(text): | |
images = [] | |
steps = 5 | |
#translate_text = translate(text) | |
text_array = generate_texts_array(text) | |
images.append(pipe(text_array[0],num_inference_steps=steps).images[0]) | |
images.append(pipe(text_array[1],num_inference_steps=steps).images[0]) | |
images.append(pipe(text_array[2],num_inference_steps=steps).images[0]) | |
images.append(pipe(text_array[3],num_inference_steps=steps).images[0]) | |
images.append(pipe(text_array[4],num_inference_steps=steps).images[0]) | |
return images | |
def generation_test(img): | |
images = [] | |
images.append(img) | |
images.append(img) | |
images.append(img) | |
images.append(img) | |
images.append(img) | |
return images | |
demo = gr.Blocks() | |
title = '# Generando historias graficas ' | |
description = 'Escribe un texto y se generara una secuencia de imagenes basadas en el texto proporcionado' | |
with demo: | |
gr.Markdown(title) | |
gr.Markdown(description) | |
with gr.Row(): | |
with gr.Column(): | |
text_input = gr.Textbox ( label="Cuento", | |
info="Escribe una historia", | |
lines=5, | |
value='Erase una vez..') | |
#steps_input = gr.Number(value=20) | |
#img_input = gr.Image (type='pil') | |
button = gr.Button(value="Generate") | |
gr.Examples( | |
examples=textos, | |
inputs=text_input, | |
#outputs=im_2, | |
) | |
with gr.Row(): | |
imgs_output = [] | |
imgs_output.append(gr.Image()) | |
imgs_output.append(gr.Image()) | |
imgs_output.append(gr.Image()) | |
imgs_output.append(gr.Image()) | |
imgs_output.append(gr.Image()) | |
button.click(generation, inputs=text_input, outputs=imgs_output) | |
if __name__ == "__main__": | |
demo.launch() |