prai-reproducibility
GitHub协助PR&AI论文构建可复现实验证据,涵盖随机种子固定、环境依赖锁定、数据划分规范、大模型版本记录及复现包组织。旨在通过标准化流程确保结果可重复,降低外审信任风险,并提供自查清单与匿名协调建议。
Trigger Scenarios
Install
npx skills add brycewang-stanford/Awesome-Journal-Skills --skill prai-reproducibility -g -y
SKILL.md
Frontmatter
{
"name": "prai-reproducibility",
"description": "在为《模式识别与人工智能》(Pattern Recognition and Artificial Intelligence, PR&AI) 准备可复现性与实验可重复材料时调用。覆盖固定随机种子、锁定软硬件环境与依赖版本、固定数据集划分与预处理、预训练权重与大模型版本的记录、复现包(脚本\/配置\/环境文件)的组织、大数据与权重的稳定托管、以及可复现自查冒烟测试。用于让本刊模式识别\/机器学习论文的实验结果能被外审与后续读者重复,降低\"结果无法复现\"的信任风险;本刊是否设强制复现要求以官网当期须知为准(待核实)。"
}
《模式识别与人工智能》可复现性与实验可重复
本技能帮助为《模式识别与人工智能》(Pattern Recognition and Artificial Intelligence, PR&AI) 论文
建立可复现的实验证据。模式识别/机器学习结果易受随机性、环境与数据划分影响,可复现性直接关系外审
对结果的信任。事实核验日期 2026-07-09,见 resources/official-source-map.md;本刊是否设强制
代码/数据可用性或复现要求 待核实,以官网当期须知为准。
一、随机性控制
- 固定所有随机源的种子:框架(PyTorch/NumPy/Python)、数据打乱、初始化、增强。
- 记录是否使用确定性算子(如 cudnn.deterministic),并说明其对速度的影响。
- 报告多次运行的均值±标准差(与
prai-experiments一致),而非单次幸运结果。
二、环境与依赖锁定
| 项 | 记录方式 |
|---|---|
| Python/框架版本 | requirements.txt / environment.yml 精确版本 |
| CUDA/cuDNN/驱动 | 写入 README,影响可复现 |
| 硬件 | GPU 型号与数量、显存、CPU |
| 容器 | 可选 Dockerfile 固化环境 |
三、数据与划分固定
- 数据集划分(train/val/test)固定并随复现包提供划分文件或脚本。
- 预处理(归一化、裁剪、分词、采样)脚本化、可重跑、对所有方法一致。
- 数据来源与许可写清;不可公开的数据说明获取途径与替代验证方式。
- 排查数据泄漏:划分无重叠、预训练语料与评测集不重叠。
四、预训练与大模型记录
- 记录预训练权重来源、版本、checkpoint 标识。
- 若用大模型/外部 API,记录模型版本与调用日期(模型会更新,影响可复现)。
- 说明是否可能在预训练阶段见过评测数据(污染风险)。
五、复现包组织(建议结构)
artifact/
README.md # 环境、一键复现步骤、结果对照说明
requirements.txt # 精确依赖
configs/ # 每个实验的配置(含种子)
scripts/run_all.sh # 一键复现主结果
data/README.md # 数据获取与划分说明(大数据走稳定托管)
results/ # 期望产物(对照论文表图)
六、干净环境冒烟测试
投稿前在全新环境跑一次,确认从零可复现(参见 resources/code/README.md):
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
bash scripts/run_all.sh --seed 20260709
# 人工比对 results/ 与论文主表/主图
七、稳定托管
- 大数据集、预训练权重不塞进代码仓库;用可分配 DOI 的归档或稳定对象存储。
- 代码用版本库并打 tag / 固定 commit,论文引用该版本。
- 链接长期可访问;避免个人临时网盘等易失链接。
八、与投稿匿名的协调
- 若本刊审稿要求作者信息与正文分离(是否双盲 待核实),复现材料也要去身份:清理仓库用户名、 机构路径、邮箱、致谢显名。
- 匿名托管可用于外审阶段;录用后再换正式署名版本(见
prai-camera-ready)。
九、可复现性自检清单
- 种子是否全固定、是否多次运行报告均值±标准差?
- 依赖/CUDA/硬件是否记录?
- 数据划分与预处理是否固定、可重跑、无泄漏?
- 预训练/大模型版本是否记录?
- 复现包是否能在干净环境一键跑通并对上主表?
- 大数据/权重是否稳定托管、代码是否打 tag?
- 审外材料是否已按匿名要求去身份(若需)?
十、与其他技能衔接
- 上游
prai-experiments定证据;平级prai-artifact-evaluation讲可用性声明;prai-supplementary决定哪些复现细节进附录。投稿前核对见prai-submission。
十一、可复现性的三个层次
为《模式识别与人工智能》(Pattern Recognition and Artificial Intelligence, PR&AI) 论文规划可复现性 时,区分三个由易到难的层次,逐层夯实:
| 层次 | 含义 | 关键动作 |
|---|---|---|
| 结果可重复 | 同代码同环境能复现论文数字 | 固定种子、锁环境、提供一键脚本 |
| 方法可复现 | 他人按论文描述能重实现 | 方法/超参/训练细节写清 |
| 结论可推广 | 结论在新数据/设定下仍成立 | 多数据集、跨设定验证 |
第一层是底线,第二层靠写作透明度(见 prai-writing-style),第三层靠实验广度(见
prai-experiments)。三层都强,外审对结果的信任度最高。
十二、随机性与硬件差异的现实处理
深度学习实验受 GPU 非确定性算子、浮点累加顺序等影响,即使固定种子也可能有微小波动:
- 坦诚报告这类波动:用多次运行的均值±标准差吸收随机性,而非追求逐位复现。
- 记录 cudnn 确定性设置及其对速度的影响,让复现者可权衡。
- 硬件差异(不同 GPU 型号)可能改变绝对数值,报告时说明硬件,比较时保持同一硬件。
- 关键结论应对随机种子稳健:若换个种子结论就翻转,说明证据不足,需回
prai-experiments加强。
十三、复现材料与论文的对照说明
复现包的 README 要给一张"论文表图 ↔ 复现命令 ↔ 期望产物"的对照表,让外审或读者能按图索骥:例如
"论文表 2 主结果 → 运行 scripts/run_all.sh → 产物在 results/main/"。这张对照表是可复现性的"目录",
也是自查是否每个关键结果都可复现的工具。凡不可公开的部分,在对照表中标明原因与替代验证途径,与
prai-artifact-evaluation 的可用性声明保持一致。
输出格式
[PR&AI 可复现] 达标 / 待补
[随机性] 种子全固定?多次运行均值±标准差?
[环境] 依赖/CUDA/硬件是否记录:___
[数据] 划分固定?预处理脚本化?无泄漏?
[大模型] 版本/日期是否记录:___
[复现包] 干净环境一键跑通并对上主表:是/否
[托管] 大数据稳定托管?代码打 tag?
[匿名(若需)] 材料是否去身份:___
[待补项] ___
Version History
- 9f86f09 Current 2026-07-19 17:18


