From 9170ab5c2cbd4cdaead342f1491b393e178ece26 Mon Sep 17 00:00:00 2001
From: rdanecek <danekradek@gmail.com>
Date: Fri, 10 Feb 2023 16:30:49 +0100
Subject: [PATCH] Make loading of certain components optional

---
 gdl/models/DECA.py    | 2 +-
 gdl/models/EmoDECA.py | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/gdl/models/DECA.py b/gdl/models/DECA.py
index 2079829f..df5ea57d 100644
--- a/gdl/models/DECA.py
+++ b/gdl/models/DECA.py
@@ -234,7 +234,7 @@ class DecaModule(LightningModule):
         """
         Initialize the au perceptual loss (not currently used in EMOCA)
         """
-        if 'lipread_loss' in self.deca.config.keys():
+        if 'lipread_loss' in self.deca.config.keys() and self.deca.config.lipread_loss.get('load', True):
             if self.lipread_loss is not None:
                 force_override = True if 'force_override' in self.deca.config.lipread_loss.keys() \
                                          and self.deca.config.lipread_loss.force_override else False
diff --git a/gdl/models/EmoDECA.py b/gdl/models/EmoDECA.py
index bdcc7c7e..ef7f7bd8 100644
--- a/gdl/models/EmoDECA.py
+++ b/gdl/models/EmoDECA.py
@@ -54,9 +54,12 @@ class EmoDECA(EmotionRecognitionBaseModule):
             "stage_name": "testing",
         }
         # instantiate the face net
-        self.deca = instantiate_deca(config.model.deca_cfg, deca_stage , "test", deca_checkpoint, deca_checkpoint_kwargs)
-        self.deca.inout_params.full_run_dir = config.inout.full_run_dir
-        self._setup_deca(False)
+        if bool(deca_checkpoint):
+            self.deca = instantiate_deca(config.model.deca_cfg, deca_stage , "test", deca_checkpoint, deca_checkpoint_kwargs)
+            self.deca.inout_params.full_run_dir = config.inout.full_run_dir
+            self._setup_deca(False)
+        else: 
+            self.deca = None
 
         # which latent codes are being used
         in_size = 0
-- 
GitLab