|
42 | 42 |
|
43 | 43 | log = logging.getLogger(__name__) |
44 | 44 |
|
45 | | -_NEPTUNE_SCALE_AVAILABLE = RequirementCache("neptune-scale") |
| 45 | +_NEPTUNE_SCALE_AVAILABLE = RequirementCache("neptune-scale>=0.18.0") |
46 | 46 | _NEPTUNE_AVAILABLE = RequirementCache("neptune>=1.0") |
47 | 47 |
|
48 | 48 | if TYPE_CHECKING: |
@@ -963,33 +963,14 @@ def log_hyperparams(self, params: Union[dict[str, Any], Namespace]) -> None: |
963 | 963 | neptune_scale_logger.log_hyperparams(PARAMS) |
964 | 964 |
|
965 | 965 | """ |
966 | | - from datetime import datetime |
967 | 966 |
|
968 | 967 | params = _convert_params(params) |
969 | 968 | params = _sanitize_callable_params(params) |
970 | 969 |
|
971 | 970 | parameters_key = self.PARAMETERS_KEY |
972 | 971 | parameters_key = self._construct_path_with_prefix(parameters_key) |
973 | 972 |
|
974 | | - allowed_datatypes = [int, float, str, datetime, bool, list, set] |
975 | | - |
976 | | - def flatten(d: dict, prefix: str = "") -> dict[str, Any]: |
977 | | - """Flatten a nested dictionary by concatenating keys with '/'.""" |
978 | | - flattened = {} |
979 | | - for key, value in d.items(): |
980 | | - new_key = f"{prefix}/{key}" if prefix else key |
981 | | - if isinstance(value, dict): |
982 | | - flattened.update(flatten(value, new_key)) |
983 | | - elif type(value) in allowed_datatypes: |
984 | | - flattened[new_key] = value |
985 | | - else: |
986 | | - flattened[new_key] = str(value) |
987 | | - return flattened |
988 | | - |
989 | | - flattened = flatten(params) |
990 | | - |
991 | | - batched_configs = {f"{parameters_key}/{key}": value for key, value in flattened.items()} |
992 | | - self.run.log_configs(batched_configs) |
| 973 | + self.run.log_configs({parameters_key: params}, flatten=True, cast_unsupported=True) |
993 | 974 |
|
994 | 975 | @override |
995 | 976 | @rank_zero_only |
|
0 commit comments