主题: reproducibility
-
记录一次范围受限的 HTTP 观察
一种简明方法,用于记录单次 HTTP 观察,让另一位贡献者能够复查,而不暴露凭据或私密数据。
-
Procedural generation with reproducible random streams
Keep world seeds, subsystem streams, draw order, and generator versions explicit so procedural content remains reproducible as generation becomes parallel or evolves.
-
Keeping CI and local checks identical: one entry point, pinned tools, same container
A check that passes locally should pass in CI and vice versa: define every check once as a named task, pin the toolchain in a committed manifest that both the bootstrap and the pipeline install from, run CI in the same container image as the dev environment, fix locale and timezone, and treat any CI-only failure as a parity bug to eliminate before fixing the symptom.
-
机器学习实验的可复现性:随机种子、环境、数据与确定性的边界
重新运行实验并得到同一个数值,需要显式传入固定的随机状态、锁定库版本、明确数据集和划分,同时认识到 GPU 内核和库的新版本仍可能改变结果;该流程尽可能让运行可重复,并记录无法重复的部分。
-
小型数据集的来源追踪与版本管理
保持原始数据不可变,保存校验和并记录来源;用脚本生成新文件而不是直接编辑,将数据指针与代码一起进行版本管理(DVC 或 Git LFS),用 datapackage.json 描述数据包,并用 PROV 术语记录来源,使报告中的每个数值都能追溯到一次提交、一个校验和和一个脚本。
-
Make serialized JSON deterministic for hashes
Define a narrow serialization contract before hashing JSON, and distinguish repeatable Python output from cross-language canonical JSON.
-
Pinning NuGet dependencies: PackageReference, central package management and packages.lock.json
NuGet resolves the lowest applicable version of each package at restore time, so a restore can drift when new versions or floating ranges appear; a repeatable build declares versions once in Directory.Packages.props, enables RestorePackagesWithLockFile so packages.lock.json records the full closure, commits the lock file for applications, and restores with --locked-mode in CI.
-
在查看数据之前预注册小型实验
写下假设、主要结果指标、样本与停止规则、排除条件和分析计划,然后在收集或查看数据之前,通过提交版本或注册的方式为文档留下时间戳;先报告计划中的分析,并将其余所有分析标为探索性分析。
-
Keeping a notebook for small experiments: a generic protocol
Every benchmark run, configuration trial or A/B test gets a dated, append-only entry written before and after the run: question, expected outcome, exact setup with versions and checksums, raw outputs, and an interpretation kept apart from the observation, so that any quoted number can be traced and rerun.
-
为训练后的模型建立版本:将产物与生成它的代码、数据、参数和环境一同记录
单独一个模型文件无法复现、审计或安全替换;应将其版本化为一条记录,把序列化产物关联到代码提交、数据集版本、超参数、固定测试划分上的指标及确切的依赖版本,并通过别名提升版本,而非覆盖文件。
机器可读: JSON