Andrei Cozma commited on
Commit
843e8ad
·
1 Parent(s): f49bb60
Files changed (1) hide show
  1. demo.py +11 -9
demo.py CHANGED
@@ -53,7 +53,7 @@ pause_val_map = {
53
  pause_val_map_inv = {v: k for k, v in pause_val_map.items()}
54
 
55
  # Global variables to allow changing it on the fly
56
- is_running = False
57
  live_render_fps = default_render_fps
58
  live_epsilon = default_epsilon
59
  live_paused = default_paused
@@ -61,9 +61,9 @@ live_steps_forward = None
61
  should_reset = False
62
 
63
 
64
- def reset():
65
- global is_running, live_render_fps, live_epsilon, live_paused, live_steps_forward, should_reset
66
- if is_running:
67
  should_reset = True
68
  live_paused = default_paused
69
  live_render_fps = default_render_fps
@@ -104,8 +104,8 @@ def onclick_btn_forward():
104
 
105
 
106
  def run(policy_fname, n_test_episodes, max_steps, render_fps, epsilon):
107
- global is_running, live_render_fps, live_epsilon, live_paused, live_steps_forward, should_reset
108
- is_running = True
109
  live_render_fps = render_fps
110
  live_epsilon = epsilon
111
  live_steps_forward = None
@@ -290,7 +290,7 @@ def run(policy_fname, n_test_episodes, max_steps, render_fps, epsilon):
290
 
291
  time.sleep(0.25)
292
 
293
- is_running = False
294
  yield agent_type, env_name, frame_env, frame_policy, ep_str(episode + 1), ep_str(
295
  episodes_solved
296
  ), step_str(step), state, action, reward, "Done!"
@@ -326,7 +326,7 @@ with gr.Blocks(title="CS581 Demo") as demo:
326
  label="Max steps per episode",
327
  )
328
 
329
- btn_run = gr.components.Button("👀 Select", interactive=bool(all_policies))
330
 
331
  gr.components.HTML("<h2>Live Visualization & Information:</h2>")
332
  with gr.Row():
@@ -392,7 +392,9 @@ with gr.Blocks(title="CS581 Demo") as demo:
392
  label="Status Message",
393
  )
394
 
395
- input_policy.change(fn=reset, outputs=[btn_pause, btn_forward])
 
 
396
 
397
  btn_run.click(
398
  fn=run,
 
53
  pause_val_map_inv = {v: k for k, v in pause_val_map.items()}
54
 
55
  # Global variables to allow changing it on the fly
56
+ current_policy = None
57
  live_render_fps = default_render_fps
58
  live_epsilon = default_epsilon
59
  live_paused = default_paused
 
61
  should_reset = False
62
 
63
 
64
+ def reset(policy_fname):
65
+ global current_policy, live_render_fps, live_epsilon, live_paused, live_steps_forward, should_reset
66
+ if current_policy is not None and current_policy != policy_fname:
67
  should_reset = True
68
  live_paused = default_paused
69
  live_render_fps = default_render_fps
 
104
 
105
 
106
  def run(policy_fname, n_test_episodes, max_steps, render_fps, epsilon):
107
+ global current_policy, live_render_fps, live_epsilon, live_paused, live_steps_forward, should_reset
108
+ current_policy = policy_fname
109
  live_render_fps = render_fps
110
  live_epsilon = epsilon
111
  live_steps_forward = None
 
290
 
291
  time.sleep(0.25)
292
 
293
+ current_policy = None
294
  yield agent_type, env_name, frame_env, frame_policy, ep_str(episode + 1), ep_str(
295
  episodes_solved
296
  ), step_str(step), state, action, reward, "Done!"
 
326
  label="Max steps per episode",
327
  )
328
 
329
+ btn_run = gr.components.Button("👀 Select & Load", interactive=bool(all_policies))
330
 
331
  gr.components.HTML("<h2>Live Visualization & Information:</h2>")
332
  with gr.Row():
 
392
  label="Status Message",
393
  )
394
 
395
+ input_policy.change(
396
+ fn=reset, inputs=[input_policy], outputs=[btn_pause, btn_forward]
397
+ )
398
 
399
  btn_run.click(
400
  fn=run,