EugenioRoma commited on
Commit
806f922
1 Parent(s): a8421f6
Files changed (1) hide show
  1. app.py +31 -17
app.py CHANGED
@@ -2,44 +2,58 @@ import streamlit as st
2
 
3
  from utils import carga_modelo, genera
4
 
5
- ## Pagina principal
6
- st.title("Generador de mariposas")
7
- st.write("Este es un modelo Light GAN entrenado y utilizado en Platzi")
 
 
8
 
9
  ## Barra lateral
10
- st.sidebar.subheader("Esta mariposa no existe, ¿Puedes creerlo?")
11
  st.sidebar.image("assets/logo.png", width=200)
12
- st.sidebar.caption("Demo creado en vivo.")
13
-
 
 
 
 
 
 
 
 
14
 
15
- ## Cargamos el modelo
16
  repo_id = "ceyda/butterfly_cropped_uniq1K_512"
17
- modelo_gan = carga_modelo(repo_id)
 
18
 
19
  ## Generamos 4 mariposas
20
  n_mariposas = 4
21
 
22
-
23
  def corre():
24
- with st.spinner("Generando, espera un poco.."):
25
  ims = genera(modelo_gan, n_mariposas)
26
  st.session_state["ims"] = ims
27
 
28
- if "ims" not in st.session:
 
 
29
  st.session_state["ims"] = None
30
  corre()
31
-
 
32
  ims = st.session_state["ims"]
33
 
 
34
  corre_boton = st.button(
35
- "Genera mariposas"
36
- on_click = corre
37
- help="Estamos en vuelo"
38
  )
39
 
40
  if ims is not None:
41
  cols = st.columns(n_mariposas)
42
  for j, im in enumerate(ims):
43
  i = j % n_mariposas
44
- cols[i].image(im, use_column_width=True)
45
-
 
2
 
3
  from utils import carga_modelo, genera
4
 
5
+ ## Página principal
6
+ st.title("Butterfly GAN (GAN de mariposas)")
7
+ st.write(
8
+ "Modelo Light-GAN entrenado con 1000 imágenes de mariposas tomadas de la colección del Museo Smithsonian."
9
+ )
10
 
11
  ## Barra lateral
12
+ st.sidebar.subheader("¡Esta mariposa no existe! Ni en América Latina 🤯.")
13
  st.sidebar.image("assets/logo.png", width=200)
14
+ st.sidebar.caption(
15
+ f"[Modelo](https://huggingface.co/ceyda/butterfly_cropped_uniq1K_512) y [Dataset](https://huggingface.co/datasets/huggan/smithsonian_butterflies_subset) usados."
16
+ )
17
+ st.sidebar.caption(f"*Disclaimers:*")
18
+ st.sidebar.caption(
19
+ "* Este demo es una versión simplificada del creado por [Ceyda Cinarel](https://github.com/cceyda) y [Jonathan Whitaker](https://datasciencecastnet.home.blog/) ([link](https://huggingface.co/spaces/huggan/butterfly-gan)) durante el hackathon [HugGan](https://github.com/huggingface/community-events). Cualquier error se atribuye a [Omar Espejel](https://twitter.com/espejelomar)."
20
+ )
21
+ st.sidebar.caption(
22
+ "* Modelo basado en el [paper](https://openreview.net/forum?id=1Fqg133qRaI) *Towards Faster and Stabilized GAN Training for High-fidelity Few-shot Image Synthesis*."
23
+ )
24
 
25
+ ## Cargamos modelo
26
  repo_id = "ceyda/butterfly_cropped_uniq1K_512"
27
+ version_modelo = "57d36a15546909557d9f967f47713236c8288838"
28
+ modelo_gan = carga_modelo(repo_id, version_modelo)
29
 
30
  ## Generamos 4 mariposas
31
  n_mariposas = 4
32
 
33
+ ## Función que genera mariposas y lo guarda como un estado de la sesión
34
  def corre():
35
+ with st.spinner("Generando, espera un poco..."):
36
  ims = genera(modelo_gan, n_mariposas)
37
  st.session_state["ims"] = ims
38
 
39
+
40
+ ## Si no hay una imagen generada entonces generala
41
+ if "ims" not in st.session_state:
42
  st.session_state["ims"] = None
43
  corre()
44
+
45
+ ## ims contiene las imágenes generadas
46
  ims = st.session_state["ims"]
47
 
48
+ ## Si la usuaria da click en el botón entonces corremos la función genera()
49
  corre_boton = st.button(
50
+ "Genera mariposas, porfa.",
51
+ on_click=corre,
52
+ help="Estamos en pleno vuelo, puede tardar.",
53
  )
54
 
55
  if ims is not None:
56
  cols = st.columns(n_mariposas)
57
  for j, im in enumerate(ims):
58
  i = j % n_mariposas
59
+ cols[i].image(im, use_column_width=True)