[tune/rllib/wandb] Flatten result dict so that nested result dicts are shown in W&B logger (#10429)

This commit is contained in:
Jan Blumenkamp
2020-09-01 00:28:46 +02:00
committed by GitHub
parent bac8f14739
commit 5774e1ce88
+9 -3
View File
@@ -7,6 +7,7 @@ from ray import logger
from ray.tune import Trainable
from ray.tune.function_runner import FunctionRunner
from ray.tune.logger import Logger
from ray.tune.utils import flatten_dict
try:
import wandb
@@ -145,11 +146,16 @@ class _WandbLoggingProcess(Process):
def _handle_result(self, result):
config_update = result.get("config", {}).copy()
log = {}
flat_result = flatten_dict(result, delimiter="/")
for k, v in result.items():
if k in self._to_config:
for k, v in flat_result.items():
if any(
k.startswith(item + "/") or k == item
for item in self._to_config):
config_update[k] = v
elif k in self._exclude:
elif any(
k.startswith(item + "/") or k == item
for item in self._exclude):
continue
elif not isinstance(v, Number):
continue