Prevent multi-clicking
Browse files
app.py
CHANGED
@@ -114,7 +114,7 @@ if __name__ == "__main__":
|
|
114 |
if state["ipe"]._action_is_discrete:
|
115 |
symbolic_formula += "\n" + r"$$ a = \underset{i}{\mathrm{argmax}} \ a_i.$$"
|
116 |
|
117 |
-
return video_path, symbolic_formula
|
118 |
|
119 |
|
120 |
css = """
|
@@ -143,8 +143,8 @@ if __name__ == "__main__":
|
|
143 |
sym_video = gr.Video(label="Symbolic policy video", interactive=False, autoplay=True)
|
144 |
sym_formula = gr.Markdown(elem_id="formula")
|
145 |
choice.input(load_video_and_dataset, inputs=[choice], outputs=[expert_video, button, state], concurrency_limit=8)
|
146 |
-
button.click(extract_interpretable_policy, inputs=[kan_widths, epochs, state], outputs=[kan_architecture, state]).then(
|
147 |
-
symbolic_policy, inputs=[state], outputs=[sym_video, sym_formula]
|
148 |
)
|
149 |
app.queue(default_concurrency_limit=3, max_size=10)
|
150 |
app.launch()
|
|
|
114 |
if state["ipe"]._action_is_discrete:
|
115 |
symbolic_formula += "\n" + r"$$ a = \underset{i}{\mathrm{argmax}} \ a_i.$$"
|
116 |
|
117 |
+
return video_path, symbolic_formula, gr.Button("Compute the symbolic policy!", interactive=True)
|
118 |
|
119 |
|
120 |
css = """
|
|
|
143 |
sym_video = gr.Video(label="Symbolic policy video", interactive=False, autoplay=True)
|
144 |
sym_formula = gr.Markdown(elem_id="formula")
|
145 |
choice.input(load_video_and_dataset, inputs=[choice], outputs=[expert_video, button, state], concurrency_limit=8)
|
146 |
+
button.click(lambda: gr.Button("Computation in progress...", interactive=False), None, [button]).then(extract_interpretable_policy, inputs=[kan_widths, epochs, state], outputs=[kan_architecture, state]).then(
|
147 |
+
symbolic_policy, inputs=[state], outputs=[sym_video, sym_formula, button]
|
148 |
)
|
149 |
app.queue(default_concurrency_limit=3, max_size=10)
|
150 |
app.launch()
|