Skip to content

Fix loading configured self-play checkpoints - #687

Open
bagel786 wants to merge 1 commit into
PufferAI:5cfrom
bagel786:fix/load-initial-self-play-checkpoint
Open

bagel786 wants to merge 1 commit into
PufferAI:5cfrom
bagel786:fix/load-initial-self-play-checkpoint

Conversation

@bagel786

Copy link
Copy Markdown

Summary

  • Load base.load_model_path before training starts.
  • Seed the initial self-play pool checkpoint from the loaded policy instead of random initialization.
  • Synchronize the asynchronous rollout actor after loading the primary policy.

Fixes #618.

Related: #632 was an earlier closed attempt from another contributor. This PR independently applies the same narrow load-order fix to the current 5c head.

Validation

  • git diff --check passed.
  • Static inspection verifies that the configured policy load precedes the initial self-play checkpoint save.
  • Static inspection verifies that asynchronous actor parameters are copied from the loaded primary policy.
  • CUDA build/runtime validation was not available on this machine and should run in CI or on a CUDA host before merge.

Continues #673 — the fork repo backing that PR was accidentally deleted from this account, and GitHub blocks reopening a PR whose submitting repository was deleted (a restore request is being filed with GitHub Support). This PR resumes the identical work from the same commit (f251da22072a72a6a8238db12606312b7fa857a2); review discussion continues on the original PR.

Copilot AI lite review requested due to automatic review settings September 11, 2026 20:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

CUDA build/runtime validation was unavailable and requires final CI or human verification.

Pull request overview

Fixes self-play initialization by loading configured checkpoints before training and synchronizing asynchronous rollout actors.

Changes:

  • Loads base.load_model_path before self-play setup.
  • Seeds the initial self-play checkpoint from loaded weights.
  • Synchronizes async actor parameters after policy loading.
File summaries
File Description
src/pufferl.cu Implements checkpoint loading and asynchronous actor synchronization.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants