Skip to content

Commit c2e0d2b

Browse files
committed
getting ready for deployment
1 parent 5a1ee34 commit c2e0d2b

File tree

4 files changed

+48
-4
lines changed

4 files changed

+48
-4
lines changed

Procfile

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
web: sh setup.sh && streamlit run app.py

app.py

+34-4
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,42 @@
33
import streamlit as st
44
from neuralnet_visualize import visualize as nnviz
55

6+
LAYER_PARAMS = {'layer_type': ['dense', 'conv2d', 'maxpool2d', 'avgpool2d', 'flatten'], 'nodes': [1], 'filters': [1], 'kernel_size': [1, 15], 'padding': ['same', 'valid'], 'stride': [1, 15], 'pool_size': [1, 15]}
7+
8+
# Setting page configurations
9+
st.beta_set_page_config(page_title="Neural Network Visualizer Playground")
10+
611
st.title("Interactive Playground")
712

13+
number = st.number_input('Number of Layers', min_value=2, max_value=20)
14+
15+
@st.cache(allow_output_mutation=True)
16+
def give_empty_params_list(number):
17+
list_of_dicts = [dict() for _ in range(number)]
18+
19+
return list_of_dicts
20+
21+
params_list = give_empty_params_list(number)
22+
23+
layer_num = st.selectbox("Layer Number", options=['Layer '+str(n) for n in range(1, number+1)])
24+
25+
st.sidebar.title("{} Parameters".format(layer_num))
26+
for name, value in LAYER_PARAMS.items():
27+
if isinstance(value[0], int) and len(value) == 1:
28+
params_list[int(layer_num[-1])-1][name] = st.sidebar.number_input(label=name, min_value=value[0])
29+
elif isinstance(value[0], int) and len(value) == 2:
30+
params_list[int(layer_num[-1])-1][name] = st.sidebar.number_input(label=name, min_value=value[0], max_value=value[1])
31+
else:
32+
params_list[int(layer_num[-1])-1][name] = st.sidebar.selectbox(label=name, options=value)
33+
834
net = nnviz.visualizer()
935

10-
net.add_layer('dense', 5)
11-
net.add_layer('dense', 13)
12-
net.add_layer('dense', 8)
36+
for n in range(number):
37+
if len(params_list[n]) != 0:
38+
net.add_layer(**params_list[n])
1339

14-
st.graphviz_chart(net.visualize(give_obj=True))
40+
if st.button("Generate Neural Network"):
41+
try:
42+
st.graphviz_chart(net.visualize(give_obj=True))
43+
except:
44+
st.warning("Set the parameters of atleast 2 layers!")

requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
streamlit
2+
neuralnet-visualize

setup.sh

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
mkdir -p ~/.streamlit/
2+
echo "\
3+
[general]\n\
4+
email = \"[email protected]\"\n\
5+
" > ~/.streamlit/credentials.toml
6+
echo "\
7+
[server]\n\
8+
headless = true\n\
9+
enableCORS=false\n\
10+
port = $PORT\n\
11+
" > ~/.streamlit/config.toml

0 commit comments

Comments
 (0)