Skip to content

Commit e372b7b

Browse files
jan-goldanv-kkudrynski
authored andcommitted
Add logging of units to dllogger metrics
1 parent 048370a commit e372b7b

File tree

57 files changed

+382
-77
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+382
-77
lines changed

DGLPyTorch/DrugDiscovery/SE3Transformer/se3_transformer/runtime/callbacks.py

+11
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ def __init__(self, logger: Optional[Logger] = None):
6464
self.logger = logger
6565
self.scheduler = None
6666

67+
self.logger.log_metadata('learning rate', {'unit': None})
68+
6769
@abstractmethod
6870
def get_scheduler(self, optimizer, args):
6971
pass
@@ -93,6 +95,9 @@ def __init__(self, logger, targets_std, prefix=''):
9395
self.prefix = prefix
9496
self.best_mae = float('inf')
9597

98+
self.logger.log_metadata(f'{self.prefix} MAE', {'unit': None})
99+
self.logger.log_metadata(f'{self.prefix} best MAE', {'unit': None})
100+
96101
def on_validation_step(self, input, target, pred):
97102
self.mae(pred.detach(), target.detach())
98103

@@ -126,6 +131,12 @@ def __init__(self, logger, batch_size: int, warmup_epochs: int = 1, mode: str =
126131
self.mode = mode
127132
self.logger = logger
128133

134+
logger.log_metadata(f"throughput_{self.mode}", {'unit': 'molecules/s'})
135+
logger.log_metadata(f"total_time_{self.mode}", {'unit': 's'})
136+
logger.log_metadata(f"latency_{self.mode}_mean", {'unit': 's'})
137+
for level in [90, 95, 99]:
138+
logger.log_metadata(f"latency_{self.mode}_{level}", {'unit': 's'})
139+
129140
def on_batch_start(self):
130141
if self.epoch >= self.warmup_epochs:
131142
self.timestamps.append(time.time() * 1000.0)

DGLPyTorch/DrugDiscovery/SE3Transformer/se3_transformer/runtime/loggers.py

+18
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ class Logger(ABC):
4040
def log_hyperparams(self, params):
4141
pass
4242

43+
@rank_zero_only
44+
@abstractmethod
45+
def log_metadata(self, metric, metadata):
46+
pass
47+
4348
@rank_zero_only
4449
@abstractmethod
4550
def log_metrics(self, metrics, step=None):
@@ -81,6 +86,11 @@ def log_hyperparams(self, params):
8186
for logger in self.loggers:
8287
logger.log_hyperparams(params)
8388

89+
@rank_zero_only
90+
def log_metadata(self, metric, metadata):
91+
for logger in self.loggers:
92+
logger.log_metadata(metric, metadata)
93+
8494

8595
class DLLogger(Logger):
8696
def __init__(self, save_dir: pathlib.Path, filename: str):
@@ -95,6 +105,10 @@ def log_hyperparams(self, params):
95105
params = self._sanitize_params(params)
96106
dllogger.log(step="PARAMETER", data=params)
97107

108+
@rank_zero_only
109+
def log_metadata(self, metric, metadata):
110+
dllogger.metadata(metric, metadata)
111+
98112
@rank_zero_only
99113
def log_metrics(self, metrics, step=None):
100114
if step is None:
@@ -126,6 +140,10 @@ def log_hyperparams(self, params: Dict[str, Any]) -> None:
126140
params = self._sanitize_params(params)
127141
self.experiment.config.update(params, allow_val_change=True)
128142

143+
@rank_zero_only
144+
def log_metadata(self, metric, metadata):
145+
pass
146+
129147
@rank_zero_only
130148
def log_metrics(self, metrics: Dict[str, float], step: Optional[int] = None) -> None:
131149
if step is not None:

MxNet/Classification/RN50v1.5/log_utils.py

+8
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,11 @@ def setup_logging(args):
3131
])
3232
else:
3333
dllogger.init([])
34+
35+
dllogger.metadata("val.accuracy", {"unit": None})
36+
dllogger.metadata("val.top_k_accuracy_5", {"unit": None})
37+
dllogger.metadata("train.ips", {"unit": "images/s"})
38+
dllogger.metadata("val.ips", {"unit": "images/s"})
39+
dllogger.metadata("val.latency_50", {"unit": "s"})
40+
dllogger.metadata("val.latency_90", {"unit": "s"})
41+
dllogger.metadata("val.latency_avg", {"unit": "s"})

PyTorch/Classification/ConvNets/image_classification/logger.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -338,10 +338,10 @@ def epoch_generator_wrapper(self, gen):
338338

339339
class Metrics:
340340
ACC_METADATA = {"unit": "%", "format": ":.2f"}
341-
IPS_METADATA = {"unit": "img/s", "format": ":.2f"}
341+
IPS_METADATA = {"unit": "images/s", "format": ":.2f"}
342342
TIME_METADATA = {"unit": "s", "format": ":.5f"}
343-
LOSS_METADATA = {"format": ":.5f"}
344-
LR_METADATA = {"format": ":.5f"}
343+
LOSS_METADATA = {"unit": None, "format": ":.5f"}
344+
LR_METADATA = {"unit": None, "format": ":.5f"}
345345

346346
def __init__(self, logger):
347347
self.logger = logger

PyTorch/Classification/GPUNet/train.py

+5
Original file line numberDiff line numberDiff line change
@@ -1100,6 +1100,11 @@ def main():
11001100
)
11011101
else:
11021102
dllogger.init(backends=[])
1103+
1104+
dllogger.metadata("top1", {"unit": None})
1105+
dllogger.metadata("top5", {"unit": None})
1106+
dllogger.metadata("average_ips", {"unit": "images/s"})
1107+
11031108
data_config = resolve_data_config(
11041109
vars(args), model=model, verbose=args.local_rank == 0
11051110
)

PyTorch/Detection/Efficientdet/train.py

+7
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,13 @@ def main():
275275
assert args.rank >= 0
276276

277277
setup_dllogger(args.rank, filename=args.dllogger_file)
278+
dllogger.metadata('eval_batch_time', {'unit': 's'})
279+
dllogger.metadata('train_batch_time', {'unit': 's'})
280+
dllogger.metadata('eval_throughput', {'unit': 'images/s'})
281+
dllogger.metadata('train_throughout', {'unit': 'images/s'})
282+
dllogger.metadata('eval_loss', {'unit': None})
283+
dllogger.metadata('train_loss', {'unit': None})
284+
dllogger.metadata('map', {'unit': None})
278285

279286
if args.distributed:
280287
logging.info('Training in distributed mode with multiple processes, 1 GPU per process. Process %d, total %d.'

PyTorch/Detection/Efficientdet/validate.py

+5
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ def add_bool_arg(parser, name, default=False, help=''): # FIXME move to utils
114114

115115
def validate(args):
116116
setup_dllogger(0, filename=args.dllogger_file)
117+
dllogger.metadata('total_inference_time', {'unit': 's'})
118+
dllogger.metadata('inference_throughput', {'unit': 'images/s'})
119+
dllogger.metadata('inference_time', {'unit': 's'})
120+
dllogger.metadata('map', {'unit': None})
121+
dllogger.metadata('total_eval_time', {'unit': 's'})
117122

118123
if args.checkpoint != '':
119124
args.pretrained = True

PyTorch/Detection/SSD/ssd/logger.py

+6
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def __init__(self, name, json_output=None, log_interval=20):
6666
backends.append(DLLogger.JSONStreamBackend(DLLogger.Verbosity.VERBOSE, json_output))
6767

6868
DLLogger.init(backends)
69+
DLLogger.metadata("mAP", {"unit": None})
6970

7071
self.epoch = 0
7172
self.train_iter = 0
@@ -137,6 +138,11 @@ def __init__(self, *args, **kwargs):
137138
super().__init__(*args, **kwargs)
138139
self.images_per_ses = BenchmarkMeter(self.name)
139140

141+
DLLogger.metadata("avg_img/sec", {"unit": "images/s"})
142+
DLLogger.metadata("med_img/sec", {"unit": "images/s"})
143+
DLLogger.metadata("min_img/sec", {"unit": "images/s"})
144+
DLLogger.metadata("max_img/sec", {"unit": "images/s"})
145+
140146
def update(self, bs, time):
141147
self.images_per_ses.update(bs, time)
142148

PyTorch/Forecasting/TFT/log_helper.py

+20-17
Original file line numberDiff line numberDiff line change
@@ -101,23 +101,26 @@ def step_format(step):
101101
container_setup_info = {**get_framework_env_vars(), **get_system_info()}
102102
dllogger.log(step='ENVIRONMENT', data=container_setup_info, verbosity=0)
103103

104-
dllogger.metadata('loss', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f'})
105-
dllogger.metadata('P10', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f'})
106-
dllogger.metadata('P50', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f'})
107-
dllogger.metadata('P90', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f'})
108-
dllogger.metadata('items/s', {'GOAL': 'MAXIMIZE', 'STAGE': 'TRAIN', 'format': ':1f'})
109-
dllogger.metadata('val_loss', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format':':5f'})
110-
dllogger.metadata('val_P10', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format': ':5f'})
111-
dllogger.metadata('val_P50', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format': ':5f'})
112-
dllogger.metadata('val_P90', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format': ':5f'})
113-
dllogger.metadata('val_items/s', {'GOAL': 'MAXIMIZE', 'STAGE': 'VAL', 'format': ':1f'})
114-
dllogger.metadata('test_P10', {'GOAL': 'MINIMIZE', 'STAGE': 'TEST', 'format': ':5f'})
115-
dllogger.metadata('test_P50', {'GOAL': 'MINIMIZE', 'STAGE': 'TEST', 'format': ':5f'})
116-
dllogger.metadata('test_P90', {'GOAL': 'MINIMIZE', 'STAGE': 'TEST', 'format': ':5f'})
117-
dllogger.metadata('throughput', {'GOAL': 'MAXIMIZE', 'STAGE': 'TEST', 'format': ':1f'})
118-
dllogger.metadata('latency_p90', {'GOAL': 'MIMIMIZE', 'STAGE': 'TEST', 'format': ':5f'})
119-
dllogger.metadata('latency_p95', {'GOAL': 'MIMIMIZE', 'STAGE': 'TEST', 'format': ':5f'})
120-
dllogger.metadata('latency_p99', {'GOAL': 'MIMIMIZE', 'STAGE': 'TEST', 'format': ':5f'})
104+
dllogger.metadata('loss', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f', 'unit': None})
105+
dllogger.metadata('P10', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f', 'unit': None})
106+
dllogger.metadata('P50', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f', 'unit': None})
107+
dllogger.metadata('P90', {'GOAL': 'MINIMIZE', 'STAGE': 'TRAIN', 'format': ':5f', 'unit': None})
108+
dllogger.metadata('items/s', {'GOAL': 'MAXIMIZE', 'STAGE': 'TRAIN', 'format': ':1f', 'unit': 'items/s'})
109+
dllogger.metadata('val_loss', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format':':5f', 'unit': None})
110+
dllogger.metadata('val_P10', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format': ':5f', 'unit': None})
111+
dllogger.metadata('val_P50', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format': ':5f', 'unit': None})
112+
dllogger.metadata('val_P90', {'GOAL': 'MINIMIZE', 'STAGE': 'VAL', 'format': ':5f', 'unit': None})
113+
dllogger.metadata('val_items/s', {'GOAL': 'MAXIMIZE', 'STAGE': 'VAL', 'format': ':1f', 'unit': 'items/s'})
114+
dllogger.metadata('test_P10', {'GOAL': 'MINIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': None})
115+
dllogger.metadata('test_P50', {'GOAL': 'MINIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': None})
116+
dllogger.metadata('test_P90', {'GOAL': 'MINIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': None})
117+
dllogger.metadata('sum', {'GOAL': 'MINIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': None})
118+
dllogger.metadata('throughput', {'GOAL': 'MAXIMIZE', 'STAGE': 'TEST', 'format': ':1f', 'unit': 'items/s'})
119+
dllogger.metadata('latency_avg', {'GOAL': 'MIMIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': 's'})
120+
dllogger.metadata('latency_p90', {'GOAL': 'MIMIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': 's'})
121+
dllogger.metadata('latency_p95', {'GOAL': 'MIMIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': 's'})
122+
dllogger.metadata('latency_p99', {'GOAL': 'MIMIMIZE', 'STAGE': 'TEST', 'format': ':5f', 'unit': 's'})
123+
dllogger.metadata('average_ips', {'GOAL': 'MAXIMIZE', 'STAGE': 'TEST', 'format': ':1f', 'unit': 'items/s'})
121124

122125

123126
def get_framework_env_vars():

PyTorch/LanguageModeling/BART/finetune.py

+3
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,9 @@ def main(args, model=None) -> SummarizationModule:
560560
else:
561561
dllogger.init(backends=[])
562562

563+
dllogger.metadata("avg_train_time", {"unit": "s"})
564+
dllogger.metadata("avg_train_throughput", {"unit": "tokens/s"})
565+
563566
main(args)
564567

565568
dllogger.flush()

PyTorch/LanguageModeling/BART/run_eval.py

+4
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,10 @@ def run_generate(verbose=True):
291291
else:
292292
dllogger.init(backends=[])
293293

294+
dllogger.metadata("inference_throughput_mean", {"unit": "tokens/s"})
295+
for suffix in ["mean", "conf_50", "conf_90", "conf_95", "conf_99", "conf_100"]:
296+
dllogger.metadata(f"inference_latency_{suffix}", {"unit": "s"})
297+
294298
if parsed_args and verbose:
295299
print(f"parsed the following generate kwargs: {parsed_args}")
296300

PyTorch/LanguageModeling/BERT/run_glue.py

+7
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,13 @@ def main(args):
486486
else:
487487
dllogger.init(backends=[])
488488

489+
dllogger.metadata("e2e_train_time", {"unit": "s"})
490+
dllogger.metadata("training_sequences_per_second", {"unit": "sequences/s"})
491+
dllogger.metadata("e2e_inference_time", {"unit": "s"})
492+
dllogger.metadata("inference_sequences_per_second", {"unit": "sequences/s"})
493+
dllogger.metadata("exact_match", {"unit": None})
494+
dllogger.metadata("F1", {"unit": None})
495+
489496
dllogger.log(step="PARAMETER", data={"Config": [str(args)]})
490497

491498
if args.gradient_accumulation_steps < 1:

PyTorch/LanguageModeling/BERT/run_pretraining.py

+5
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,11 @@ def setup_training(args):
345345
else:
346346
dllogger.init(backends=[])
347347

348+
dllogger.metadata("e2e_train_time", {"unit": "s"})
349+
dllogger.metadata("training_sequences_per_second", {"unit": "sequences/s"})
350+
dllogger.metadata("final_loss", {"unit": None})
351+
dllogger.metadata("raw_train_time", {"unit": "s"})
352+
348353
print("device: {} n_gpu: {}, distributed training: {}, 16-bits training: {}".format(
349354
device, args.n_gpu, bool(args.local_rank != -1), args.fp16))
350355

PyTorch/LanguageModeling/BERT/run_squad.py

+8
Original file line numberDiff line numberDiff line change
@@ -875,6 +875,14 @@ def main():
875875
dllogger.StdOutBackend(verbosity=dllogger.Verbosity.VERBOSE, step_format=format_step)])
876876
else:
877877
dllogger.init(backends=[])
878+
879+
dllogger.metadata("e2e_train_time", {"unit": "s"})
880+
dllogger.metadata("training_sequences_per_second", {"unit": "sequences/s"})
881+
dllogger.metadata("final_loss", {"unit": None})
882+
dllogger.metadata("e2e_inference_time", {"unit": "s"})
883+
dllogger.metadata("inference_sequences_per_second", {"unit": "sequences/s"})
884+
dllogger.metadata("exact_match", {"unit": None})
885+
dllogger.metadata("F1", {"unit": None})
878886

879887
print("device: {} n_gpu: {}, distributed training: {}, 16-bits training: {}".format(
880888
device, n_gpu, bool(args.local_rank != -1), args.fp16))

PyTorch/LanguageModeling/Transformer-XL/pytorch/eval.py

+8
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,14 @@ def main():
308308
logging.info(args)
309309
dllogger.log(step='PARAMETER', data=vars(args))
310310

311+
dllogger.metadata('eval_throughput', {'unit': 'tokens/s'})
312+
dllogger.metadata('eval_loss', {'unit': None})
313+
dllogger.metadata('eval_perplexity', {'unit': None})
314+
dllogger.metadata('eval_latency', {'unit': 'ms'})
315+
dllogger.metadata('eval_avg_latency', {'unit': 'ms'})
316+
for p in args.percentiles:
317+
dllogger.metadata(f'eval_{p}%_latency', {'unit': 'ms'})
318+
311319
if not args.no_env:
312320
log_env_info()
313321

PyTorch/LanguageModeling/Transformer-XL/pytorch/train.py

+8
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,14 @@ def main():
752752
logging.info(args)
753753
dllogger.log(step='PARAMETER', data=vars(args))
754754

755+
dllogger.metadata('train_throughput', {'unit': 'tokens/s'})
756+
dllogger.metadata('train_elapsed', {'unit': 'min'})
757+
dllogger.metadata('valid_elapsed', {'unit': 'min'})
758+
dllogger.metadata('train_perplexity', {'unit': None})
759+
dllogger.metadata('valid_perplexity', {'unit': None})
760+
dllogger.metadata('train_loss', {'unit': None})
761+
dllogger.metadata('valid_loss', {'unit': None})
762+
755763
logging.info(f'world size: {utils.distributed.get_world_size()}')
756764

757765
if not args.no_env:

PyTorch/Recommendation/DLRM/dlrm/scripts/utils.py

+9
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,15 @@ def init_logging(log_path):
192192

193193
dllogger.init(backends=[json_backend, stdout_backend])
194194

195+
dllogger.metadata("best_auc", {"unit": None})
196+
dllogger.metadata("mean_inference_latency_batch_1", {"unit": "s"})
197+
dllogger.metadata("mean_inference_latency_batch_64", {"unit": "s"})
198+
dllogger.metadata("mean_inference_latency_batch_4096", {"unit": "s"})
199+
dllogger.metadata("average_train_throughput", {"unit": "samples/s"})
200+
dllogger.metadata("mean_inference_throughput_batch_1", {"unit": "samples/s"})
201+
dllogger.metadata("mean_inference_throughput_batch_64", {"unit": "samples/s"})
202+
dllogger.metadata("mean_inference_throughput_batch_4096", {"unit": "samples/s"})
203+
195204

196205
class StepTimer():
197206
def __init__(self):

PyTorch/Recommendation/NCF/inference.py

+7
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ def main():
5959

6060
dllogger.log(data=vars(args), step='PARAMETER')
6161

62+
63+
6264
model = NeuMF(nb_users=args.n_users, nb_items=args.n_items, mf_dim=args.factors,
6365
mlp_layer_sizes=args.layers, dropout=args.dropout)
6466

@@ -100,6 +102,11 @@ def main():
100102
result_data[f'batch_{batch_size}_p95_latency'] = np.percentile(latencies, 95)
101103
result_data[f'batch_{batch_size}_p99_latency'] = np.percentile(latencies, 99)
102104

105+
for batch_size in batch_sizes:
106+
dllogger.metadata(f'batch_{batch_size}_mean_throughput', {'unit': 'samples/s'})
107+
for p in ['mean', 'p90', 'p95', 'p99']:
108+
dllogger.metadata(f'batch_{batch_size}_{p}_latency', {'unit': 's'})
109+
103110
dllogger.log(data=result_data, step=tuple())
104111
dllogger.flush()
105112
return

PyTorch/Recommendation/NCF/ncf.py

+13-5
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,19 @@ def main():
178178
else:
179179
dllogger.init(backends=[])
180180

181-
dllogger.metadata('train_throughput', {"name": 'train_throughput', 'format': ":.3e"})
182-
dllogger.metadata('hr@10', {"name": 'hr@10', 'format': ":.5f"})
183-
dllogger.metadata('train_epoch_time', {"name": 'train_epoch_time', 'format': ":.3f"})
184-
dllogger.metadata('validation_epoch_time', {"name": 'validation_epoch_time', 'format': ":.3f"})
185-
dllogger.metadata('eval_throughput', {"name": 'eval_throughput', 'format': ":.3e"})
181+
dllogger.metadata('train_throughput', {"name": 'train_throughput', 'unit': 'samples/s', 'format': ":.3e"})
182+
dllogger.metadata('best_train_throughput', {'unit': 'samples/s'})
183+
dllogger.metadata('mean_train_throughput', {'unit': 'samples/s'})
184+
dllogger.metadata('eval_throughput', {"name": 'eval_throughput', 'unit': 'samples/s', 'format': ":.3e"})
185+
dllogger.metadata('best_eval_throughput', {'unit': 'samples/s'})
186+
dllogger.metadata('mean_eval_throughput', {'unit': 'samples/s'})
187+
dllogger.metadata('train_epoch_time', {"name": 'train_epoch_time', 'unit': 's', 'format': ":.3f"})
188+
dllogger.metadata('validation_epoch_time', {"name": 'validation_epoch_time', 'unit': 's', 'format': ":.3f"})
189+
dllogger.metadata('time_to_target', {'unit': 's'})
190+
dllogger.metadata('time_to_best_model', {'unit': 's'})
191+
dllogger.metadata('hr@10', {"name": 'hr@10', 'unit': None, 'format': ":.5f"})
192+
dllogger.metadata('best_accuracy', {'unit': None})
193+
dllogger.metadata('best_epoch', {'unit': None})
186194

187195
dllogger.log(data=vars(args), step='PARAMETER')
188196

PyTorch/Segmentation/MaskRCNN/pytorch/tools/test_net.py

+8
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,14 @@ def main():
8888
else:
8989
dllogger.init(backends=[])
9090

91+
dllogger.metadata("BBOX_mAP", {"unit": None})
92+
dllogger.metadata("MASK_mAP", {"unit": None})
93+
dllogger.metadata("e2e_infer_time", {"unit": "s"})
94+
dllogger.metadata("inference_perf_fps", {"unit": "images/s"})
95+
dllogger.metadata("latency_avg", {"unit": "s"})
96+
dllogger.metadata("latency_90", {"unit": "s"})
97+
dllogger.metadata("latency_95", {"unit": "s"})
98+
dllogger.metadata("latency_99", {"unit": "s"})
9199

92100
save_dir = ""
93101
dllogger.log(step="PARAMETER", data={"config":cfg})

PyTorch/Segmentation/MaskRCNN/pytorch/tools/train_net.py

+5
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,11 @@ def main():
265265
else:
266266
dllogger.init(backends=[])
267267

268+
dllogger.metadata("BBOX_mAP", {"unit": None})
269+
dllogger.metadata("MASK_mAP", {"unit": None})
270+
dllogger.metadata("e2e_train_time", {"unit": "s"})
271+
dllogger.metadata("train_perf_fps", {"unit": "images/s"})
272+
268273
dllogger.log(step="PARAMETER", data={"gpu_count":num_gpus})
269274
# dllogger.log(step="PARAMETER", data={"environment_info": collect_env_info()})
270275
dllogger.log(step="PARAMETER", data={"config_file": args.config_file})

0 commit comments

Comments
 (0)