From bb6252d6300fd722e5933d08aa2a67dee8d73e10 Mon Sep 17 00:00:00 2001 From: Mina Moshfegh <mina.moshfegh@fau.de> Date: Wed, 19 Feb 2025 15:53:46 +0000 Subject: [PATCH] Upload New File --- src/defenses/base_defense.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/defenses/base_defense.py diff --git a/src/defenses/base_defense.py b/src/defenses/base_defense.py new file mode 100644 index 0000000..574018f --- /dev/null +++ b/src/defenses/base_defense.py @@ -0,0 +1,16 @@ +import abc + + +# Base class for defense strategies in this framework. + +class BaseDefense(metaclass=abc.ABCMeta): + def __init__(self, student_model, teacher_model=None): + # student_model is the model being trained or adapted, + # teacher_model might be the model from the previous step/task. + self.student_model = student_model + self.teacher_model = teacher_model + + @abc.abstractmethod + def loss_function(self, x, y, **kwargs): + # Must return a scalar loss that can be backpropagated. + pass -- GitLab