From 3a4f390e48c817ea586f109dad23acae27354184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20W=C3=A4lchli?= Date: Thu, 29 Jul 2021 17:39:34 +0200 Subject: [PATCH 1/2] remove deadcode in eval loop --- pytorch_lightning/loops/epoch/evaluation_epoch_loop.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py b/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py index 2c09163413981..a30ef4cec0548 100644 --- a/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py +++ b/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py @@ -240,16 +240,10 @@ def _build_kwargs(self, batch: Any, batch_idx: int, dataloader_idx: int) -> Dict return step_kwargs def _track_output_for_epoch_end( - self, - outputs: List[Union[ResultCollection, Dict, Tensor]], - output: Optional[Union[ResultCollection, Dict, Tensor]], + self, outputs: List[STEP_OUTPUT], output: Optional[STEP_OUTPUT] ) -> List[Union[ResultCollection, Dict, Tensor]]: if output is not None: - if isinstance(output, ResultCollection): - output = output.detach() - if self.trainer.move_metrics_to_cpu: - output = output.cpu() - elif isinstance(output, dict): + if isinstance(output, dict): output = recursive_detach(output, to_cpu=self.trainer.move_metrics_to_cpu) elif isinstance(output, Tensor) and output.is_cuda and self.trainer.move_metrics_to_cpu: output = output.cpu() From 1dc262e051b7b06c51b5759e959da79e4487850a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20W=C3=A4lchli?= Date: Thu, 29 Jul 2021 17:46:59 +0200 Subject: [PATCH 2/2] fix type hint --- pytorch_lightning/loops/epoch/evaluation_epoch_loop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py b/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py index a30ef4cec0548..a448f306b676a 100644 --- a/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py +++ b/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py @@ -241,7 +241,7 @@ def _build_kwargs(self, batch: Any, batch_idx: int, dataloader_idx: int) -> Dict def _track_output_for_epoch_end( self, outputs: List[STEP_OUTPUT], output: Optional[STEP_OUTPUT] - ) -> List[Union[ResultCollection, Dict, Tensor]]: + ) -> List[STEP_OUTPUT]: if output is not None: if isinstance(output, dict): output = recursive_detach(output, to_cpu=self.trainer.move_metrics_to_cpu)