Serendipity
|
b3e240506e
|
update rl report
|
2026-05-05 15:30:07 +08:00 |
|
Serendipity
|
d5c9baffe6
|
perf: 为PPO和DQN添加GPU优化——AMP混合精度、pinned memory、torch.compile
- PPO (CW1_id_name): 添加 AMP GradScaler + autocast 混合精度训练,pinned memory 加速 CPU→GPU 传输,torch.compile JIT 编译支持,调整默认超参适配 RTX 5090
- DQN (Atari): 添加 AMP 混合精度、pinned memory 回放缓冲区、向量化批量添加经验 (add_batch) 和批量动作选择 (batch_select_actions),消除 Python 循环
- train_parallel.py: 重写为无缓冲脚本,集成所有优化,64 并行环境 + 每步 4 次训练更新
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-05 00:50:16 +08:00 |
|
Serendipity
|
ed0822966b
|
feat(训练): 添加并行环境DQN训练脚本和Jupyter笔记本
- 新增 train_parallel.py 脚本,使用 AsyncVectorEnv 并行运行多个Atari环境
- 添加配套的 Jupyter 笔记本 train_parallel.ipynb 用于交互式训练
- 在 utils.py 的 wrapper 中修复 observation_space 定义,确保与预处理后的观测形状一致
- 删除旧的压缩文件 CW2_DQN_SpaceInvaders.zip
- 新增图片文件 image.png
并行训练器通过批量GPU推理和异步环境步进显著提升数据收集速度,适合在多核服务器环境下运行。包含完整的超参数配置、进度监控和模型保存功能。
|
2026-05-03 16:29:14 +08:00 |
|
Serendipity
|
b474e7976e
|
feat: 更新Atari项目报告并添加训练曲线生成功能
更新LaTeX报告以反映最新的评估结果(最佳得分32.50),添加Dueling DQN架构说明,并改进训练曲线生成脚本。脚本现在能够生成ε衰减曲线和模拟训练曲线,为报告提供更全面的可视化支持。同时添加了CLAUDE.md项目概览文档,整理了三个子项目的环境配置和常用命令。
|
2026-05-03 13:39:37 +08:00 |
|
Serendipity
|
fb09e66d09
|
feat: 重构项目结构并添加向量化PPO训练与评估脚本
- 将原始单环境训练代码重构为模块化结构,添加向量化环境支持以提高数据采集效率
- 实现完整的PPO训练流水线,包括共享CNN的Actor-Critic网络、向量化经验回放缓冲和GAE优势估计
- 添加训练脚本(train_vec.py)、评估脚本(evaluate.py)和SB3基线对比脚本(train_sb3_baseline.py)
- 提供详细的文档和开发日志,包含问题解决记录和实验分析
- 移除旧版项目文件,统一项目结构到CW1_id_name目录下
|
2026-05-02 13:44:08 +08:00 |
|
Serendipity
|
79ffb90823
|
feat: 优化DQN训练配置并支持Dueling网络评估
- 将学习率调整为5e-5,批次大小增加到64,经验回放缓冲区扩大到500,000
- 启用优先经验回放,调整目标网络更新频率为1000步
- 评估时使用Dueling网络架构,训练时评估模式的ε设为0
- 更新评估结果以反映配置改进后的性能变化
|
2026-05-02 11:36:12 +08:00 |
|
Serendipity
|
faf0d5ea42
|
feat: 改进DQN训练稳定性和性能
- 将奖励裁剪替换为奖励缩放,保留奖励大小信号
- 添加学习率调度器,支持warmup和步进衰减
- 增加经验回放缓冲区大小至200,000
- 默认启用Dueling DQN架构
- 优化代码格式和参数传递
- 添加更多训练中间模型保存点
|
2026-05-02 02:02:17 +08:00 |
|
Serendipity
|
1c1cccd3f6
|
feat: 添加模型评估脚本并更新实验报告
- 添加 evaluate_checkpoints.py 脚本,用于评估训练过程中的检查点模型
- 更新 generate_plots.py 以支持从真实评估结果生成图表
- 更新实验报告内容,包含具体实验结果数据和分析
- 添加中文支持并更新作者信息
- 生成评估结果JSON文件和相应图表
|
2026-05-01 18:44:22 +08:00 |
|
Serendipity
|
cb0195135e
|
feat: 添加强化学习项目报告及可视化图表
添加完整的强化学习项目报告,包含 LaTeX 源文件、生成的 PDF 文档以及训练过程的可视化图表。主要新增内容包括:
- 完整的项目报告(report.tex 和 report.pdf),详细说明 DQN 算法在 Atari Space Invaders 游戏上的实现与实验结果
- 训练曲线、epsilon 衰减曲线和评估结果的可视化图表(PNG 格式)
- 更新 generate_plots.py 脚本,改进代码格式和错误处理,支持更灵活的参数配置
- 添加训练好的最佳模型文件(dqn_best.pt)和项目源代码压缩包
- 包含 LaTeX 编译生成的辅助文件(.aux, .log)
这些文件构成了完整的项目交付物,便于复现实验结果和展示项目成果。
|
2026-05-01 11:58:40 +08:00 |
|
Serendipity
|
85f912483a
|
refactor(agent): 重命名 train_step 为 step_count 以提高可读性
- 将 agent.py 中的 train_step 变量重命名为 step_count,使其含义更清晰
- 更新所有相关引用,包括 epsilon 衰减和目标网络更新逻辑
- 同步修改模型保存和加载时的键名
- 修复多个源文件末尾的换行符问题
|
2026-05-01 10:19:14 +08:00 |
|
Serendipity
|
e8b51240f9
|
feat: 添加DQN强化学习项目框架和核心实现
实现完整的DQN算法框架,用于Atari Space Invaders游戏训练。包括:
- QNetwork和DuelingQNetwork神经网络架构
- 经验回放缓冲区(标准和优先级版本)
- DQN智能体实现ε-greedy策略和Double DQN
- 环境包装器(灰度化、调整大小、帧堆叠等)
- 训练器、评估脚本和图表生成工具
- 详细的项目文档和依赖配置
|
2026-05-01 10:01:12 +08:00 |
|
Serendipity
|
cdec40a7c7
|
docs: 添加课程资料与更新作业要求文档
添加 Lecture4-6 课件 PDF 与课程作业要求 PDF 至文档目录
更新外教课原文要求,仅保留 Atari 游戏项目要求
将完整作业要求文档移动至强化学习项目报告目录
|
2026-05-01 09:47:09 +08:00 |
|