Spaces:
Sleeping
Sleeping
| import re | |
| if not hasattr(re, 'TEMPLATE'): | |
| re.TEMPLATE = 1 | |
| import streamlit as st | |
| from utils import carga_modelo, genera | |
| ## Página principal | |
| st.title("Generador de imagenes") | |
| st.write("Este es un modelo Light GAN") | |
| st.write("Las Redes Generativas Adversariales (GANs) son un tipo de modelo de deep learning compuesto por dos redes neuronales que compiten entre sí: un generador, que crea imágenes sintéticas, y un discriminador, que intenta distinguirlas de las reales. A través de este entrenamiento adversarial, el generador aprende a producir imágenes cada vez más realistas. Este demo utiliza el modelo Lightweight GAN ceyda/butterfly_cropped_uniq1K_512, entrenado por Ceyda Cinarel sobre un conjunto de datos curado de aproximadamente 1,000 imágenes únicas de mariposas del Smithsonian, generando imágenes de 512×512 píxeles.") | |
| st.write("Haz clic en Generar para crear una mariposa que no existe en la naturaleza") | |
| ## Barra lateral | |
| st.sidebar.subheader("Esta mariposa en realidad no existe") | |
| st.sidebar.image("assets/logo.png", width=200) | |
| st.sidebar.caption("Demo creado en vivo") | |
| ## Cargando el modelo | |
| repo_id = "ceyda/butterfly_cropped_uniq1K_512" | |
| modelo_gan = carga_modelo(repo_id) | |
| # Generamos n mariposas | |
| n_mariposas = 12 | |
| def corre(): | |
| with st.spinner("Generando"): | |
| ims = genera(modelo_gan, n_mariposas) | |
| st.session_state["ims"] = ims | |
| if "ims" not in st.session_state: | |
| st.session_state["ims"] = None | |
| corre() | |
| ims = st.session_state["ims"] | |
| corre_botton = st.button( | |
| "Genera mariposas", | |
| on_click=corre, | |
| help="Estamos generando las imágenes, abrocha tu cinturón" | |
| ) | |
| if ims is not None: | |
| cols = st.columns(n_mariposas) | |
| for j, im in enumerate(ims): | |
| i = j % n_mariposas | |
| cols[i].image(im, use_container_width=True) |