Returns the optimizer class and optimizer parameters based on the training arguments. Args: args (`transformers.training_args.TrainingArguments`): The training arguments for the training session. model (`PreTrainedModel`, *optional*):
(args: TrainingArguments, model: PreTrainedModel | None = None)
| 1257 | |
| 1258 | @staticmethod |
| 1259 | def get_optimizer_cls_and_kwargs(args: TrainingArguments, model: PreTrainedModel | None = None) -> tuple[Any, Any]: |
| 1260 | """ |
| 1261 | Returns the optimizer class and optimizer parameters based on the training arguments. |
| 1262 | |
| 1263 | Args: |
| 1264 | args (`transformers.training_args.TrainingArguments`): |
| 1265 | The training arguments for the training session. |
| 1266 | model (`PreTrainedModel`, *optional*): |
| 1267 | The model being trained. Required for some optimizers (GaLore, Apollo, LOMO). |
| 1268 | |
| 1269 | Returns: |
| 1270 | A tuple containing the optimizer class and a dictionary of optimizer keyword arguments. |
| 1271 | """ |
| 1272 | ctx = OptimizerContext( |
| 1273 | args=args, |
| 1274 | model=model, |
| 1275 | optimizer_kwargs={"lr": args.learning_rate}, |
| 1276 | adam_kwargs={ |
| 1277 | "betas": (args.adam_beta1, args.adam_beta2), |
| 1278 | "eps": args.adam_epsilon, |
| 1279 | }, |
| 1280 | optim_args=_parse_optim_args(args.optim_args), |
| 1281 | ) |
| 1282 | |
| 1283 | handler = _OPTIMIZER_HANDLERS.get(args.optim) |
| 1284 | if handler is None: |
| 1285 | raise ValueError(f"Trainer cannot instantiate unsupported optimizer: {args.optim}") |
| 1286 | |
| 1287 | return handler(ctx) |
| 1288 | |
| 1289 | def get_decay_parameter_names(self, model: nn.Module) -> list[str]: |
| 1290 | """ |
no test coverage detected