Skip to content

Commit 7358d45

Browse files
authored
Retrieve last logged val from result by key (#3049)
* return last logged value * Update test_results.py * Update step_result.py * Update step_result.py * pep8 * pep8
1 parent 89a5d8f commit 7358d45

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

pytorch_lightning/core/step_result.py

+6
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ def __init__(
4545
}
4646
}
4747

48+
def __getitem__(self, key: Union[str, Any]) -> Any:
49+
try:
50+
return super().__getitem__(key)
51+
except KeyError:
52+
return super().__getitem__(f'step_{key}')
53+
4854
def __getattr__(self, key: str) -> Any:
4955
try:
5056
if key == 'callback_metrics':

tests/core/test_results.py

+8
Original file line numberDiff line numberDiff line change
@@ -236,3 +236,11 @@ def test_result_gather_mixed_types():
236236
expected = [1.2, ["bar", None], torch.tensor(1)]
237237
assert isinstance(result["foo"], list)
238238
assert result["foo"] == expected
239+
240+
241+
def test_result_retrieve_last_logged_item():
242+
result = Result()
243+
result.log('a', 5., on_step=True, on_epoch=True)
244+
assert result['epoch_a'] == 5.
245+
assert result['step_a'] == 5.
246+
assert result['a'] == 5.

0 commit comments

Comments
 (0)