Fix writing benchmark results with tuple keys (#23633)

Signed-off-by: Huy Do <huydhn@gmail.com>
This commit is contained in:
Huy Do 2025-08-26 04:16:09 -07:00 committed by GitHub
parent b00e69f8ca
commit 6ace2f72b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -54,7 +54,12 @@ class InfEncoder(json.JSONEncoder):
def clear_inf(self, o: Any):
if isinstance(o, dict):
return {k: self.clear_inf(v) for k, v in o.items()}
return {
str(k)
if not isinstance(k, (str, int, float, bool, type(None)))
else k: self.clear_inf(v)
for k, v in o.items()
}
elif isinstance(o, list):
return [self.clear_inf(v) for v in o]
elif isinstance(o, float) and math.isinf(o):