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 | |