Spaces:
Runtime error
Runtime error
| # Copyright (c) OpenMMLab. All rights reserved. | |
| import json | |
| def load_json_log(json_log): | |
| """load and convert json_logs to log_dicts. | |
| Args: | |
| json_log (str): The path of the json log file. | |
| Returns: | |
| dict: The result dict contains two items, "train" and "val", for | |
| the training log and validate log. | |
| Example: | |
| An example output: | |
| .. code-block:: python | |
| { | |
| 'train': [ | |
| {"lr": 0.1, "time": 0.02, "epoch": 1, "step": 100}, | |
| {"lr": 0.1, "time": 0.02, "epoch": 1, "step": 200}, | |
| {"lr": 0.1, "time": 0.02, "epoch": 1, "step": 300}, | |
| ... | |
| ] | |
| 'val': [ | |
| {"accuracy/top1": 32.1, "step": 1}, | |
| {"accuracy/top1": 50.2, "step": 2}, | |
| {"accuracy/top1": 60.3, "step": 2}, | |
| ... | |
| ] | |
| } | |
| """ | |
| log_dict = dict(train=[], val=[]) | |
| with open(json_log, 'r') as log_file: | |
| for line in log_file: | |
| log = json.loads(line.strip()) | |
| # A hack trick to determine whether the line is training log. | |
| mode = 'train' if 'lr' in log else 'val' | |
| log_dict[mode].append(log) | |
| return log_dict | |