in src/streamlit_demo.py [0:0]
def main():
"""
TSP demo.
"""
route_length = st.slider('Route length', 10, 300, 50, step=10)
if 'data' not in st.session_state:
st.session_state.data = None
if st.button('Generate a new TSP problem'):
st.session_state.data = generate_one_tsp_problem(num_nodes=route_length)
X = np.array(st.session_state.data[0]["nodes"])
st.info(f'The TSP problem has {route_length} nodes')
fig_norm = plot_route_on_normspace(np.arange(0, route_length), X[0, :, 0], X[0, :, 1], 0, plot_arrow=False)
print("data loaded ...")
if (fig_norm is not None):
st.pyplot(fig_norm)
serializer = JSONLinesSerializer()
deserializer = JSONLinesDeserializer()
# get the latest endpoint
endpoint_name = get_latest_endpoint()
if st.button('Routing via the Deep Reinforcement Learning model...'):
# Retrieve app state
app_state = st.experimental_get_query_params()
rank_list, so_list = inference_endpoint(st.session_state.data,
endpoint_name,
serializer,
deserializer)
X = np.array(st.session_state.data[0]["nodes"])
fig_norm = plot_route_on_normspace(so_list, X[0, :, 0], X[0, :, 1], 0)
print("route loaded ...")
if (fig_norm is not None):
st.pyplot(fig_norm)