Spaces:
Runtime error
Runtime error
import collections | |
from numpy.core.defchararray import lower | |
import streamlit as st | |
import numpy as np | |
import pandas as pd | |
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import os, random, time | |
from utils import footer, generate, drawGrid, generate2 | |
from PIL import Image | |
mode = "ai" | |
#mode = "dummy" | |
def app(): | |
global _prompt | |
st.title('AI-Generated Architecture') | |
#st.subheader('(beta v1.1)') | |
#st.text('This is a working beta version with bugs. Known issues are:\n-Some images will grey out when you change the input parameters') | |
st.subheader('Describe a building, interior, or other architecture you would like to see. You can change the prompt and input parameters on the fly.') | |
#Modern architecture museum with black brick and large windows. | |
print("Prompt: "+st.session_state.prompt) | |
prompt = st.text_input(label="",value=st.session_state.prompt) | |
st.text("") | |
#with st.expander("Having trouble thinking of something? Click here to view examples."): | |
# st.write(""" | |
# • Modern architecture museum with black brick and large windows.\n | |
# • A prosaic, simple architecture.\n | |
# • An urban, post-modern architecture with concrete and steel.\n | |
# • A sleek urban interior design. | |
# """) | |
st.text("") | |
crazy = st.slider('Temperature. This controls how "crazy" generated images are, where 0 is the least crazy.', 0.0, 1.0, 0.75) | |
k = st.slider('Top K. The higher the value, the higher quality the results tend to be at the cost of extra processing time.', 1, 10, 5) | |
#k = k*400 | |
if( 'results' not in st.session_state ): | |
st.session_state.results = [] | |
c1,c2 = st.columns(2) | |
with c1: | |
holder = st.empty() | |
with c2: | |
holder2 = st.empty() | |
startButton = holder.button("Start") | |
already = [] | |
if startButton or hasattr(st.session_state, 'load_state') or st.session_state.prompt is not None: | |
with st.spinner("Generating..."): | |
holder.empty() | |
st.session_state.load_state = True | |
placeholder = st.empty() | |
second = st.empty() | |
nextButton = False | |
randomButton = False | |
f = True | |
ii = 0 | |
while len(st.session_state.results) <= 128: | |
ii += 1 | |
if(f and len(st.session_state.results) > 0): | |
f = False | |
randomButton = holder2.button("randomize prompt") | |
nextButton = holder.button("finished generating images") | |
with second.container(): | |
drawGrid() | |
with placeholder.container(): | |
st.session_state.bar = placeholder.progress(0) | |
if(len(st.session_state.results) > 0 and nextButton): | |
st.session_state.page = 1 | |
break | |
if(randomButton): | |
randomButton = False | |
_1 = ["A modern ","A post-modern ","An ultramodern ", "A classical ", "A parametric ", "A contemporary ", "A minimalist "] | |
_2 = ["museum architecture","home architecture","landscape architecture","interior design","structure architecture"] | |
_3 = [""," in the style of I.M. Pei"," in the style of Frank Gehry"," in the style of John Lautner"," in the style of Frank Lloyd Wright"] | |
_4 = [" photograph",", watercolor painting",", oil painting", ", digital art"] | |
prompt = str(random.choice(_1)+random.choice(_2)+random.choice(_3)+random.choice(_4)) | |
st.session_state.prompt = prompt | |
generate(prompt,crazy,k) | |
st.session_state.bar = st.container() | |