mirror of
https://github.com/open-mmlab/mmclassification.git
synced 2025-06-03 06:28:44 +08:00
44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
# 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
|