Skip to content

Commit c3341e6

Browse files
shabietchatoncarmocca
authored andcommitted
log metrics for correct dataloader only (#10522)
Co-authored-by: tchaton <[email protected]> Co-authored-by: Carlos Mocholí <[email protected]>
1 parent 9cbc5da commit c3341e6

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tests/trainer/logging_/test_eval_loop_logging.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
from pytorch_lightning import callbacks, Trainer
2525
from pytorch_lightning.loggers import TensorBoardLogger
26+
from pytorch_lightning.trainer.connectors.logger_connector import LoggerConnector
2627
from pytorch_lightning.utilities.exceptions import MisconfigurationException
2728
from tests.helpers import BoringModel, RandomDataset
2829

@@ -672,3 +673,29 @@ def val_dataloader(self):
672673
enable_model_summary=False,
673674
)
674675
trainer.fit(model)
676+
677+
678+
@pytest.mark.parametrize(
679+
["kwargs", "expected"],
680+
[
681+
({"dl_idx": 0, "metrics": {"acc": 123}}, {"acc": 123}),
682+
(
683+
{"dl_idx": 0, "metrics": {"acc/dataloader_idx_0": 123, "acc/dataloader_idx_1": 321}},
684+
{"acc/dataloader_idx_0": 123},
685+
),
686+
(
687+
{"dl_idx": 10, "metrics": {"acc/dataloader_idx_1": 123, "acc/dataloader_idx_10": 321}},
688+
{"acc/dataloader_idx_10": 321},
689+
),
690+
(
691+
{"dl_idx": 3, "metrics": {"top_3_acc/dataloader_idx_0": 123, "top_3_acc/dataloader_idx_3": 321}},
692+
{"top_3_acc/dataloader_idx_3": 321},
693+
),
694+
# theoretical case, as `/dataloader_idx_3` would have been added
695+
({"dl_idx": 3, "metrics": {"top_3_acc": 123}}, {"top_3_acc": 123}),
696+
],
697+
)
698+
def test_filter_metrics_for_dataloader(kwargs, expected):
699+
"""Logged metrics should only include metrics from the concerned dataloader."""
700+
actual = LoggerConnector._filter_metrics_for_dataloader(**kwargs)
701+
assert actual == expected

0 commit comments

Comments
 (0)