anugrah55 commited on
Commit
81fb5f6
·
verified ·
1 Parent(s): 6a4517b

Fix unhandled exception by wrapping network ops in try/finally

Browse files
Files changed (1) hide show
  1. inference.py +27 -11
inference.py CHANGED
@@ -81,14 +81,14 @@ def get_model_action(client: OpenAI, obs_dict: dict) -> dict:
81
  async def run_task(task_name: str, client: OpenAI, env_client) -> None:
82
  log_start(task=task_name, env=BENCHMARK, model=MODEL_NAME)
83
 
 
 
 
 
 
84
  try:
85
  result = await env_client.reset(task=task_name)
86
 
87
- rewards = []
88
- steps_taken = 0
89
- score = 0.0
90
- success = False
91
-
92
  for step in range(1, MAX_STEPS + 1):
93
  if result.done:
94
  break
@@ -123,10 +123,11 @@ async def run_task(task_name: str, client: OpenAI, env_client) -> None:
123
  break
124
 
125
  success = score >= 0.5
126
- log_end(success=success, steps=steps_taken, score=score, rewards=rewards)
127
 
128
  except Exception as e:
129
  print(f"[DEBUG] Error running task {task_name}: {e}", flush=True)
 
 
130
 
131
  async def main() -> None:
132
  if HF_TOKEN is None:
@@ -134,12 +135,27 @@ async def main() -> None:
134
 
135
  client = OpenAI(base_url=API_BASE_URL, api_key=HF_TOKEN)
136
  image_name = os.getenv("LOCAL_IMAGE_NAME") or os.getenv("IMAGE_NAME")
137
- env_client = await get_client(image_name)
 
 
138
 
139
- for task in ["easy_clean", "medium_clean", "hard_clean"]:
140
- await run_task(task, client, env_client)
141
-
142
- await env_client.close()
 
 
 
 
 
 
 
 
 
 
 
 
 
143
 
144
  if __name__ == "__main__":
145
  asyncio.run(main())
 
81
  async def run_task(task_name: str, client: OpenAI, env_client) -> None:
82
  log_start(task=task_name, env=BENCHMARK, model=MODEL_NAME)
83
 
84
+ rewards = []
85
+ steps_taken = 0
86
+ score = 0.0
87
+ success = False
88
+
89
  try:
90
  result = await env_client.reset(task=task_name)
91
 
 
 
 
 
 
92
  for step in range(1, MAX_STEPS + 1):
93
  if result.done:
94
  break
 
123
  break
124
 
125
  success = score >= 0.5
 
126
 
127
  except Exception as e:
128
  print(f"[DEBUG] Error running task {task_name}: {e}", flush=True)
129
+ finally:
130
+ log_end(success=success, steps=steps_taken, score=score, rewards=rewards)
131
 
132
  async def main() -> None:
133
  if HF_TOKEN is None:
 
135
 
136
  client = OpenAI(base_url=API_BASE_URL, api_key=HF_TOKEN)
137
  image_name = os.getenv("LOCAL_IMAGE_NAME") or os.getenv("IMAGE_NAME")
138
+
139
+ task_name_env = os.getenv("DATA_CLEAN_ENV_TASK")
140
+ tasks_to_run = [task_name_env] if task_name_env else ["easy_clean", "medium_clean", "hard_clean"]
141
 
142
+ try:
143
+ env_client = await get_client(image_name)
144
+ except Exception as e:
145
+ print(f"[DEBUG] Failed to start env_client: {e}", flush=True)
146
+ for task in tasks_to_run:
147
+ log_start(task=task, env=BENCHMARK, model=MODEL_NAME)
148
+ log_end(success=False, steps=0, score=0.0, rewards=[])
149
+ return
150
+
151
+ try:
152
+ for task in tasks_to_run:
153
+ await run_task(task, client, env_client)
154
+ finally:
155
+ try:
156
+ await env_client.close()
157
+ except Exception as e:
158
+ print(f"[DEBUG] env.close() error: {e}", flush=True)
159
 
160
  if __name__ == "__main__":
161
  asyncio.run(main())