in smdebug/core/json_config.py [0:0]
def parse_save_config_dict(params, mode=None) -> Dict:
"""Grab the relevant keys for a SaveConfig and return a dictionary."""
if not isinstance(params, dict):
raise ValueError("parameter must be dict")
if mode is None:
prefix = ""
elif mode == ModeKeys.TRAIN:
prefix = "train."
elif mode == ModeKeys.EVAL:
prefix = "eval."
elif mode == ModeKeys.PREDICT:
prefix = "predict."
elif mode == ModeKeys.GLOBAL:
prefix = "global."
else:
raise ValueError(f"Invalid mode={mode}.")
# Only look at keys starting with prefix
params = {key[len(prefix) :]: value for key, value in params.items() if key.startswith(prefix)}
# Parse relevant key-value pairs and place them in a new `ret` dictionary
ret = {}
if "save_interval" in params:
ret["save_interval"] = params["save_interval"]
if "save_steps" in params:
ret["save_steps"] = [int(x) for x in split(params["save_steps"])]
if "start_step" in params:
ret["start_step"] = params["start_step"]
if "end_step" in params:
ret["end_step"] = params["end_step"]
return ret