diff --git a/face_swapper/src/training.py b/face_swapper/src/training.py index 63e439c..16c9e86 100644 --- a/face_swapper/src/training.py +++ b/face_swapper/src/training.py @@ -76,15 +76,10 @@ class FaceSwapperTrainer(lightning.LightningModule, FaceSwapperLoss): def validation_step(self, batch : Batch, batch_index : int) -> Tensor: source_tensor, target_tensor, _ = batch - - if torch.isnan(source_tensor).any() and torch.isnan(target_tensor).any(): - source_embedding = calc_id_embedding(self.id_embedder, source_tensor, (0, 0, 0, 0)) - output_tensor, target_attributes = self.generator(target_tensor, source_embedding) - output_embedding = calc_id_embedding(self.id_embedder, output_tensor, (0, 0, 0, 0)) - validation = (nn.functional.cosine_similarity(source_embedding, output_embedding).mean() + 1) * 0.5 - else: - validation = torch.tensor(0.0) - + source_embedding = calc_id_embedding(self.id_embedder, source_tensor, (0, 0, 0, 0)) + output_tensor = self.generator(source_embedding, target_tensor) + output_embedding = calc_id_embedding(self.id_embedder, output_tensor, (0, 0, 0, 0)) + validation = (nn.functional.cosine_similarity(source_embedding, output_embedding).mean() + 1) * 0.5 self.log('validation', validation) return validation