KyanChen's picture
Upload 303 files
4d0eb62
raw
history blame
1.31 kB
# 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