Spaces:
Sleeping
Sleeping
Fix unhandled exception by wrapping network ops in try/finally
Browse files- 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 |
-
|
|
|
|
|
|
|
| 138 |
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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())
|