butterflies / app.py
Eloi Campeny
firts try gan
d717c03
raw
history blame contribute delete
No virus
1.88 kB
import streamlit as st
from utils import load_model, generate
## Title and write
st.title("Butterfly GAN")
st.write(
"Light-GAN model trained with 1000 butterfly images taken from the Smithsonian Museum collection."
)
## Sidebar
st.sidebar.subheader("This butterfly does not exist!.")
st.sidebar.image("assets/logo.png", width=200)
st.sidebar.caption(
f"[Model](https://huggingface.co/ceyda/butterfly_cropped_uniq1K_512) and [Dataset](https://huggingface.co/datasets/huggan/smithsonian_butterflies_subset) used."
)
st.sidebar.caption(f"*Disclaimers:*")
st.sidebar.caption(
"* This demo is a simplified version of the one created by [Ceyda Cinarel](https://github.com/cceyda) and [Jonathan Whitaker](https://datasciencecastnet.home.blog/) ([link](https://huggingface.co/spaces/huggan/butterfly-gan)) during the hackathon [HugGan](https://github.com/huggingface/community-events)."
)
st.sidebar.caption(
"* Model based on [paper](https://openreview.net/forum?id=1Fqg133qRaI) *Towards Faster and Stabilized GAN Training for High-fidelity Few-shot Image Synthesis*."
)
## Load model
repo_id = "ceyda/butterfly_cropped_uniq1K_512"
version_model = "57d36a15546909557d9f967f47713236c8288838"
model_gan = load_model(repo_id, version_model)
n_mariposas = 4
## Function that generates butterflies and saves it as a state of the session
def run():
with st.spinner("Generating, wait a little..."):
ims = generate(model_gan, n_mariposas)
st.session_state["ims"] = ims
if "ims" not in st.session_state:
st.session_state["ims"] = None
run()
ims = st.session_state["ims"]
run_boton = st.button(
"Spawn butterflies.",
on_click=run,
help="Generate images.",
)
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_column_width=True)