From 29ae63297db5da4ae76c20d1ae13983294b9bdb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Malte=20T=C3=B6pperwien?= Date: Fri, 13 Feb 2026 14:25:55 +0100 Subject: [PATCH] fix: provide default serialization for instance sets given by environment --- mighty/mighty_agents/base_agent.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mighty/mighty_agents/base_agent.py b/mighty/mighty_agents/base_agent.py index 0f554c3..2300d63 100644 --- a/mighty/mighty_agents/base_agent.py +++ b/mighty/mighty_agents/base_agent.py @@ -7,6 +7,7 @@ import random from abc import ABC from pathlib import Path +from warnings import warn from typing import TYPE_CHECKING, Dict import numpy as np @@ -295,11 +296,16 @@ def __init__( # noqa: PLR0915, PLR0912 or isinstance(self.env.unwrapped, CARLENV) ): self.result_buffer["instances"] = [] + + def default_serialization(obj): + warn(f"'{type(obj)}' not serializable", UserWarning) + return str(obj) + with open(Path(self.output_dir) / "instance_set.json", "w+") as f: - json.dump(self.env.instance_set, f) + json.dump(self.env.instance_set, f, default=default_serialization) with open(Path(self.output_dir) / "test_set.json", "w+") as f: - json.dump(self.eval_env.instance_set, f) + json.dump(self.eval_env.instance_set, f, default=default_serialization) self.eval_buffer = { "eval_after_n_steps": [],