Spaces:
Build error
Build error
Update gensim/sim_runner.py
Browse files- gensim/sim_runner.py +24 -19
gensim/sim_runner.py
CHANGED
|
@@ -9,7 +9,7 @@ import imageio
|
|
| 9 |
|
| 10 |
from pygments import highlight
|
| 11 |
from pygments.lexers import PythonLexer
|
| 12 |
-
from pygments.formatters import TerminalFormatter
|
| 13 |
import gradio
|
| 14 |
import time
|
| 15 |
import random
|
|
@@ -31,6 +31,7 @@ class SimulationRunner:
|
|
| 31 |
self.agent = agent
|
| 32 |
self.critic = critic
|
| 33 |
self.memory = memory
|
|
|
|
| 34 |
|
| 35 |
# statistics
|
| 36 |
self.syntax_pass_rate = 0
|
|
@@ -107,8 +108,8 @@ class SimulationRunner:
|
|
| 107 |
self.generated_task_programs.append(self.generated_code)
|
| 108 |
self.generated_task_names.append(self.generated_task_name)
|
| 109 |
except:
|
| 110 |
-
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(),
|
| 111 |
-
print("Task Creation Exception:",
|
| 112 |
|
| 113 |
raise gradio.Error(f"Task Creation Exception: {str(traceback.format_exc())}")
|
| 114 |
self.task_creation_pass = False
|
|
@@ -127,30 +128,32 @@ class SimulationRunner:
|
|
| 127 |
|
| 128 |
# self.generated_task = {'task-name': 'TASK_NAME_TEMPLATE', 'task-description': 'TASK_STRING_TEMPLATE', 'assets-used': ['ASSET_1', 'ASSET_2', Ellipsis]}
|
| 129 |
print("generated_task\n", self.generated_task)
|
| 130 |
-
yield "Task Generated ==>", None, None
|
| 131 |
self.generated_asset = self.agent.propose_assets()
|
| 132 |
print("generated_asset\n", self.generated_asset)
|
| 133 |
-
yield "Task Generated ==> Asset Generated ==> ", None, None
|
| 134 |
self.agent.api_review()
|
| 135 |
-
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> ", None, None
|
| 136 |
self.critic.error_review(self.generated_task)
|
| 137 |
-
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> ", None, None
|
| 138 |
self.generated_code, self.curr_task_name = self.agent.implement_task()
|
| 139 |
self.task_asset_logs.append(self.generated_task["assets-used"])
|
| 140 |
self.generated_task_name = self.generated_task["task-name"]
|
| 141 |
print("generated_code\n", self.generated_code)
|
| 142 |
print("curr_task_name\n", self.curr_task_name)
|
| 143 |
-
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> Code Generated ==> ", self.generated_code, None
|
| 144 |
|
| 145 |
self.generated_tasks.append(self.generated_task)
|
| 146 |
self.generated_task_assets.append(self.generated_asset)
|
| 147 |
self.generated_task_programs.append(self.generated_code)
|
| 148 |
self.generated_task_names.append(self.generated_task_name)
|
| 149 |
except:
|
| 150 |
-
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(),
|
| 151 |
-
print("Task Creation Exception:",
|
| 152 |
-
|
|
|
|
| 153 |
self.task_creation_pass = False
|
|
|
|
| 154 |
|
| 155 |
# self.curr_task_name = self.generated_task['task-name']
|
| 156 |
print("task creation time {:.3f}".format(time.time() - start_time))
|
|
@@ -236,11 +239,13 @@ class SimulationRunner:
|
|
| 236 |
self.syntax_pass_rate += 1
|
| 237 |
|
| 238 |
except:
|
| 239 |
-
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(),
|
| 240 |
save_text(self.cfg['model_output_dir'], self.generated_task_name + '_error', str(traceback.format_exc()))
|
| 241 |
print("========================================================")
|
| 242 |
-
print("Syntax Exception:",
|
| 243 |
-
|
|
|
|
|
|
|
| 244 |
return
|
| 245 |
|
| 246 |
try:
|
|
@@ -296,7 +301,7 @@ class SimulationRunner:
|
|
| 296 |
video_writer.close()
|
| 297 |
print("save video to ", self.video_path)
|
| 298 |
|
| 299 |
-
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> Code Generated ==> Simulation Running completed", self.generated_code, self.video_path
|
| 300 |
episode.append((obs, None, reward, info))
|
| 301 |
|
| 302 |
|
|
@@ -306,10 +311,10 @@ class SimulationRunner:
|
|
| 306 |
# self.runtime_pass_rate += 1
|
| 307 |
print("Runtime Test Pass!")
|
| 308 |
except:
|
| 309 |
-
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(),
|
| 310 |
save_text(self.cfg['model_output_dir'], self.generated_task_name + '_error', str(traceback.format_exc()))
|
| 311 |
print("========================================================")
|
| 312 |
-
print("Runtime Exception:",
|
| 313 |
-
|
| 314 |
-
|
| 315 |
self.memory.save_run(self.generated_task)
|
|
|
|
| 9 |
|
| 10 |
from pygments import highlight
|
| 11 |
from pygments.lexers import PythonLexer
|
| 12 |
+
from pygments.formatters import HtmlFormatter, TerminalFormatter
|
| 13 |
import gradio
|
| 14 |
import time
|
| 15 |
import random
|
|
|
|
| 31 |
self.agent = agent
|
| 32 |
self.critic = critic
|
| 33 |
self.memory = memory
|
| 34 |
+
self.log = ""
|
| 35 |
|
| 36 |
# statistics
|
| 37 |
self.syntax_pass_rate = 0
|
|
|
|
| 108 |
self.generated_task_programs.append(self.generated_code)
|
| 109 |
self.generated_task_names.append(self.generated_task_name)
|
| 110 |
except:
|
| 111 |
+
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(), HtmlFormatter())
|
| 112 |
+
print("Task Creation Exception:", highlight(f"{str(traceback.format_exc())}", PythonLexer(), TerminalFormatter()))
|
| 113 |
|
| 114 |
raise gradio.Error(f"Task Creation Exception: {str(traceback.format_exc())}")
|
| 115 |
self.task_creation_pass = False
|
|
|
|
| 128 |
|
| 129 |
# self.generated_task = {'task-name': 'TASK_NAME_TEMPLATE', 'task-description': 'TASK_STRING_TEMPLATE', 'assets-used': ['ASSET_1', 'ASSET_2', Ellipsis]}
|
| 130 |
print("generated_task\n", self.generated_task)
|
| 131 |
+
yield "Task Generated ==>", "", None, None
|
| 132 |
self.generated_asset = self.agent.propose_assets()
|
| 133 |
print("generated_asset\n", self.generated_asset)
|
| 134 |
+
yield "Task Generated ==> Asset Generated ==> ", "", None, None
|
| 135 |
self.agent.api_review()
|
| 136 |
+
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> ", "", None, None
|
| 137 |
self.critic.error_review(self.generated_task)
|
| 138 |
+
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> ", "", None, None
|
| 139 |
self.generated_code, self.curr_task_name = self.agent.implement_task()
|
| 140 |
self.task_asset_logs.append(self.generated_task["assets-used"])
|
| 141 |
self.generated_task_name = self.generated_task["task-name"]
|
| 142 |
print("generated_code\n", self.generated_code)
|
| 143 |
print("curr_task_name\n", self.curr_task_name)
|
| 144 |
+
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> Code Generated ==> ", self.log, self.generated_code, None
|
| 145 |
|
| 146 |
self.generated_tasks.append(self.generated_task)
|
| 147 |
self.generated_task_assets.append(self.generated_asset)
|
| 148 |
self.generated_task_programs.append(self.generated_code)
|
| 149 |
self.generated_task_names.append(self.generated_task_name)
|
| 150 |
except:
|
| 151 |
+
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(), HtmlFormatter())
|
| 152 |
+
print("Task Creation Exception:", highlight(f"{str(traceback.format_exc())}", PythonLexer(), TerminalFormatter()))
|
| 153 |
+
self.log = to_print
|
| 154 |
+
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> Code Generation Failed", self.log, "", None
|
| 155 |
self.task_creation_pass = False
|
| 156 |
+
return
|
| 157 |
|
| 158 |
# self.curr_task_name = self.generated_task['task-name']
|
| 159 |
print("task creation time {:.3f}".format(time.time() - start_time))
|
|
|
|
| 239 |
self.syntax_pass_rate += 1
|
| 240 |
|
| 241 |
except:
|
| 242 |
+
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(), HtmlFormatter())
|
| 243 |
save_text(self.cfg['model_output_dir'], self.generated_task_name + '_error', str(traceback.format_exc()))
|
| 244 |
print("========================================================")
|
| 245 |
+
print("Syntax Exception:", highlight(f"{str(traceback.format_exc())}", PythonLexer(), TerminalFormatter()))
|
| 246 |
+
self.log = to_print
|
| 247 |
+
|
| 248 |
+
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> Code Generated ==> Code Syntax Parse Failed", self.log, self.generated_code, None
|
| 249 |
return
|
| 250 |
|
| 251 |
try:
|
|
|
|
| 301 |
video_writer.close()
|
| 302 |
print("save video to ", self.video_path)
|
| 303 |
|
| 304 |
+
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> Code Generated ==> Simulation Running completed", self.log, self.generated_code, self.video_path
|
| 305 |
episode.append((obs, None, reward, info))
|
| 306 |
|
| 307 |
|
|
|
|
| 311 |
# self.runtime_pass_rate += 1
|
| 312 |
print("Runtime Test Pass!")
|
| 313 |
except:
|
| 314 |
+
to_print = highlight(f"{str(traceback.format_exc())}", PythonLexer(), HtmlFormatter())
|
| 315 |
save_text(self.cfg['model_output_dir'], self.generated_task_name + '_error', str(traceback.format_exc()))
|
| 316 |
print("========================================================")
|
| 317 |
+
print("Runtime Exception:", highlight(f"{str(traceback.format_exc())}", PythonLexer(), TerminalFormatter()))
|
| 318 |
+
self.log = to_print
|
| 319 |
+
yield "Task Generated ==> Asset Generated ==> API Reviewed ==> Error Reviewed ==> Code Generated ==> Simulation Running Failed", self.log, self.generated_code, None
|
| 320 |
self.memory.save_run(self.generated_task)
|