From f251da22072a72a6a8238db12606312b7fa857a2 Mon Sep 17 00:00:00 2001 From: bagel786 Date: Sat, 29 Aug 2026 22:53:11 -0500 Subject: [PATCH] Fix loading configured self-play checkpoints --- src/pufferl.cu | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/pufferl.cu b/src/pufferl.cu index 0844fd7223..8fc33e9848 100644 --- a/src/pufferl.cu +++ b/src/pufferl.cu @@ -1735,6 +1735,9 @@ void pufferl_load_policy(PuffeRL* pufferl, int i, const char* path) { Policy* pol = &pufferl->policies[i]; puf_load_weights_into(pol->master_weights, pol->param, pufferl->default_stream, path); + if (i == 0 && pufferl->hypers.async) { + puf_copy(&pufferl->actor_param, &pol->param, pufferl->default_stream); + } cudaDeviceSynchronize(); } @@ -2959,6 +2962,13 @@ TrainResult run_train(Ini* ini, TrainContext* ctx) { } PuffeRL* pufferl = create_pufferl(ini, ctx); + char load_path_buf[4096]; + const char* load_path = puf_checkpoint_path_key( + ini, "load_model_path", load_path_buf, sizeof(load_path_buf)); + if (load_path) { + pufferl_load_policy(pufferl, 0, load_path); + } + Selfplay selfplay = {0}; if (use_selfplay) { char initial_checkpoint[4096];