fix: replace self.use_apex and self.fsdp with getattr for compat
Browse files
root_gainlora/src/cl_trainer_gainlora_inflora.py
CHANGED
|
@@ -534,7 +534,7 @@ class GainLoRA_InfLoRA_Trainer(Seq2SeqTrainer):
|
|
| 534 |
|
| 535 |
if self.do_grad_scaling:
|
| 536 |
self.scaler.scale(loss).backward()
|
| 537 |
-
elif self
|
| 538 |
with amp.scale_loss(loss, self.optimizer) as scaled_loss:
|
| 539 |
scaled_loss.backward()
|
| 540 |
elif self.is_deepspeed_enabled:
|
|
@@ -567,7 +567,7 @@ class GainLoRA_InfLoRA_Trainer(Seq2SeqTrainer):
|
|
| 567 |
|
| 568 |
if self.do_grad_scaling:
|
| 569 |
self.scaler.scale(kl_loss).backward()
|
| 570 |
-
elif self
|
| 571 |
with amp.scale_loss(kl_loss, self.optimizer) as scaled_loss:
|
| 572 |
scaled_loss.backward()
|
| 573 |
elif self.is_deepspeed_enabled:
|
|
@@ -1058,7 +1058,7 @@ class GainLoRA_InfLoRA_Trainer(Seq2SeqTrainer):
|
|
| 1058 |
getattr(self, 'sharded_ddp', None) is not None
|
| 1059 |
and getattr(self, 'sharded_ddp', None) != ShardedDDPOption.SIMPLE
|
| 1060 |
or is_sagemaker_mp_enabled()
|
| 1061 |
-
or self
|
| 1062 |
)
|
| 1063 |
|
| 1064 |
if self.is_deepspeed_enabled:
|
|
@@ -1090,7 +1090,7 @@ class GainLoRA_InfLoRA_Trainer(Seq2SeqTrainer):
|
|
| 1090 |
# prepare using `accelerator` prepare
|
| 1091 |
if use_accelerator_prepare:
|
| 1092 |
if hasattr(self.lr_scheduler, "step"):
|
| 1093 |
-
if self
|
| 1094 |
model = self.accelerator.prepare(self.model)
|
| 1095 |
else:
|
| 1096 |
model, self.optimizer = self.accelerator.prepare(self.model, self.optimizer)
|
|
@@ -1325,7 +1325,7 @@ class GainLoRA_InfLoRA_Trainer(Seq2SeqTrainer):
|
|
| 1325 |
elif hasattr(model, "clip_grad_norm_"):
|
| 1326 |
# Some models (like FullyShardedDDP) have a specific way to do gradient clipping
|
| 1327 |
model.clip_grad_norm_(args.max_grad_norm)
|
| 1328 |
-
elif self
|
| 1329 |
# Revert to normal clipping otherwise, handling Apex or full precision
|
| 1330 |
nn.utils.clip_grad_norm_(
|
| 1331 |
amp.master_params(self.optimizer),
|
|
|
|
| 534 |
|
| 535 |
if self.do_grad_scaling:
|
| 536 |
self.scaler.scale(loss).backward()
|
| 537 |
+
elif getattr(self, 'use_apex', False):
|
| 538 |
with amp.scale_loss(loss, self.optimizer) as scaled_loss:
|
| 539 |
scaled_loss.backward()
|
| 540 |
elif self.is_deepspeed_enabled:
|
|
|
|
| 567 |
|
| 568 |
if self.do_grad_scaling:
|
| 569 |
self.scaler.scale(kl_loss).backward()
|
| 570 |
+
elif getattr(self, 'use_apex', False):
|
| 571 |
with amp.scale_loss(kl_loss, self.optimizer) as scaled_loss:
|
| 572 |
scaled_loss.backward()
|
| 573 |
elif self.is_deepspeed_enabled:
|
|
|
|
| 1058 |
getattr(self, 'sharded_ddp', None) is not None
|
| 1059 |
and getattr(self, 'sharded_ddp', None) != ShardedDDPOption.SIMPLE
|
| 1060 |
or is_sagemaker_mp_enabled()
|
| 1061 |
+
or getattr(self, 'fsdp', None) is not None
|
| 1062 |
)
|
| 1063 |
|
| 1064 |
if self.is_deepspeed_enabled:
|
|
|
|
| 1090 |
# prepare using `accelerator` prepare
|
| 1091 |
if use_accelerator_prepare:
|
| 1092 |
if hasattr(self.lr_scheduler, "step"):
|
| 1093 |
+
if getattr(self, 'use_apex', False):
|
| 1094 |
model = self.accelerator.prepare(self.model)
|
| 1095 |
else:
|
| 1096 |
model, self.optimizer = self.accelerator.prepare(self.model, self.optimizer)
|
|
|
|
| 1325 |
elif hasattr(model, "clip_grad_norm_"):
|
| 1326 |
# Some models (like FullyShardedDDP) have a specific way to do gradient clipping
|
| 1327 |
model.clip_grad_norm_(args.max_grad_norm)
|
| 1328 |
+
elif getattr(self, 'use_apex', False):
|
| 1329 |
# Revert to normal clipping otherwise, handling Apex or full precision
|
| 1330 |
nn.utils.clip_grad_norm_(
|
| 1331 |
amp.master_params(self.optimizer),
|