RL-06-05-实验记录与复现

← 上级:RL-06.评估环境与工具链


一、复现 Checklist

做法
Seed Python/NumPy/Torch/env 全设
版本 requirements.txt 锁 gymnasium、sb3、torch
Config yaml/json 存超参
Checkpoint 定期存 model + optimizer + step
日志 TensorBoard / W&B 存曲线与 config
代码 git commit hash 写入 log

二、requirements 示例

1
2
3
4
gymnasium==0.29.1
stable-baselines3==2.3.0
torch>=2.0.0
numpy>=1.24.0

三、seed 工具

1
2
3
4
5
6
7
8
def set_global_seed(seed):
import random, os
import numpy as np
import torch
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
os.environ["PYTHONHASHSEED"] = str(seed)

四、Weights & Biases(可选)

1
2
3
import wandb
wandb.init(project="rl-cartpole", config=cfg)
wandb.log({"ep_return": ret, "loss": loss}, step=global_step)

五、公平对比

  • 相同 total_timesteps
  • 相同 env id 与 wrapper
  • 相同 eval 协议(deterministic, n_episodes)
  • 多 seed 报 mean±std

六、小结

  • 无记录 = 无法复现;config + seed + 版本 三件套必备。
  • RL-06 完结 → RL-07 实战子篇
-------------本文结束感谢您的阅读-------------