Skip to main content
QUICK REVIEW

[论文解读] json2run: a tool for experiment design & analysis

Tommaso Urli|arXiv (Cornell University)|May 6, 2013
Scientific Computing and Data Management参考文献 1被引用 15
一句话总结

json2run 是一个基于 Python 的工具,用于在计算研究中自动化实验设计、执行和分析,使用 JSON 格式的参数树来定义配置,并使用 MongoDB 后端存储结果。它支持批量执行、参数竞赛以优化性能,并与 R 集成以进行统计分析,显著减少了算法实验中的手动工作量。

ABSTRACT

json2run is a tool to automate the running, storage and analysis of experiments. The main advantage of json2run is that it allows to describe a set of experiments concisely as a JSON-formatted parameter tree. It also supports parallel execution of experiments, automatic parameter tuning through the F-Race framework and storage and analysis of experiments with MongoDB and R.

研究动机与目标

  • 自动化算法研究中计算实验的设计、执行和分析。
  • 减少在多个运行中管理参数配置和结果收集的手动工作量。
  • 提供一个灵活且可扩展的框架,通过分层的 JSON 参数规范比较算法配置。
  • 通过内置版本控制和基于数据库的结果持久化,支持可重现的实验。
  • 通过与 R 集成和结构化数据检索,支持可扩展的实验结果分析。

提出的方法

  • 使用分层的 JSON 结构定义实验参数,节点包括离散值、连续区间、文件/目录输入以及逻辑组合(例如 'and'、'or' 节点)。
  • 通过递归遍历 JSON 树并应用组合规则,生成所有有效的参数配置。
  • 支持后处理程序,用于转换、合并或过滤生成的配置,以处理复杂的参数关系。
  • 通过命令行工具(j2r)执行实验,该工具使用生成的命令行参数启动可执行程序。
  • 使用面向文档的模式将结果存储在 MongoDB 数据库中,以处理异构且可变的参数集合。
  • 提供与 R 脚本的集成,用于从数据库查询、检索和统计分析结果。

实验结果

研究问题

  • RQ1如何以可扩展且可重现的方式自动化计算实验的配置和执行?
  • RQ2在人类可读格式中,最有效的方式是什么,以表示具有逻辑依赖关系和组合的复杂参数空间?
  • RQ3如何高效地存储和查询具有不同参数集合的异构实验的结果?
  • RQ4统一框架是否能够减少运行和分析算法实验的工程工作量?
  • RQ5如何实现参数竞赛,以基于性能指标自动识别最优配置?

主要发现

  • json2run 通过声明式的 JSON 配置格式,成功实现了复杂实验批次的生成和执行的自动化。
  • 该工具支持参数竞赛,可根据用户定义的性能指标(如解的成本或运行时间)识别最优配置。
  • 结果持久化存储在 MongoDB 数据库中,支持高效查询、中断后恢复和长期分析。
  • 与 R 的集成使研究人员能够使用标准数据检索函数,对实验结果执行高级统计分析。
  • 该系统支持中断实验的恢复,并提供详细的日志记录和元数据追踪,包括源代码版本控制。
  • 该工具已在调度和时间表研究中成功应用,证明了其在实际算法实验中的实用性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。