summaryrefslogtreecommitdiff
path: root/baselines
diff options
context:
space:
mode:
Diffstat (limited to 'baselines')
-rw-r--r--baselines/peft_baseline.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/baselines/peft_baseline.py b/baselines/peft_baseline.py
index 246385f..af1b71c 100644
--- a/baselines/peft_baseline.py
+++ b/baselines/peft_baseline.py
@@ -214,7 +214,14 @@ class PEFTBaseline:
def cleanup(self):
"""Remove adapter and restore wrapper.model to the original base model."""
- base_model = self.peft_model.unload()
- self.wrapper.model = base_model
+ try:
+ base_model = self.peft_model.unload()
+ self.wrapper.model = base_model
+ except (AttributeError, NotImplementedError):
+ # unload() not supported for PromptTuning/PrefixTuning
+ # Access base model directly
+ self.wrapper.model = self.peft_model.base_model
+ if hasattr(self.wrapper.model, 'model'):
+ self.wrapper.model = self.wrapper.model.model
del self.peft_model
torch.cuda.empty_cache()