Back

transformers #43738

[Trainer] Move optimizer cls init to trainer_optimizer.py

by SunMarc · Feb 06, 2026 at 19:25 UTC · scan-f6e841fc9e8c8dc8

Critical Risk (90%)

Get this automatically on every PR

Install the Axiomo GitHub App to get Signals as check runs and PR comments on every pull request.

Install App

Risk Assessment

Risk level: Critical (90%)

Risk Drivers

  • large_diff: Large change: 1475 lines modified
  • new_contributor: First contribution from github-actions[bot]
  • missing_tests: Added 652 lines of code but only 56 lines of tests
  • api_surface_change: API surface changed in 2 file(s)

Intent

3/3 criteria met

Refactor optimizer class initialization by moving it to trainer_optimizer.py.

Acceptance Criteria

  • โœ“
    Create trainer_optimizer.py with helper functions for each optimizer category.

    src/transformers/trainer_optimizer.py created with +608 lines.

  • โœ“
    Update Trainer.get_optimizer_cls_and_kwargs.

    Changes in src/transformers/trainer.py include updates to get_optimizer_cls_and_kwargs.

  • โœ“
    Simplify tests related to optimizers.

    tests/trainer/test_trainer.py simplified with -299 lines.

Confidence: 95.0% Source: pr description AI: openai

Contributors

SunMarc PR Author 14 commits + Trusted
Account Age: 2290 days
Prior PRs: 233
Merged: 205

Trusted contributor with 205 merged PRs. has 259 followers. unfamiliar with src/transformers/trainer_optimizer.py.

github-actions[bot] 1 commit ? New Contributor
Account Age: 2748 days
Prior PRs: 0

First-time contributor to this repository.

Evidence

Evidence Completeness: 57.0%
tests_passing Failing
ci_passing Passing
build_successful Passing
Missing: lint_passing, security_scan_clean, coverage_maintained

Supply Chain

None Risk
Modifies dependencies
Modifies lockfile
Modifies CI config
Modifies build scripts

Focus Files

Focus on 1 critical file(s)

src/transformers/trainer_optimizer.py +608

608 lines changed; New file; Source code

critical
src/transformers/trainer.py +512

512 lines changed; Source code

high
tests/trainer/test_trainer.py +355

355 lines changed; Source code

high

Triage

163

minutes to review

extensive

effort level

none

staleness risk

Schedule dedicated review time; consider pair review

Recommendation

REQUEST CHANGES 51.0% readiness

Critical risk level requires changes before approval

Next Steps

Concern

Consider breaking into smaller PRs

Question

Why is lint_passing missing? Consider adding this check.

Question

Why is security_scan_clean missing? Consider adding this check.

Concern src/transformers/trainer_optimizer.py

Critical file: 608 lines changed; New file; Source code