所有集合
在Code Ocean上发布
验证过程
Code Ocean的计算再现性和质量验证过程
Code Ocean的计算再现性和质量验证过程

发布或提交供同行审查之前需要注意的事项。

沙哈尔·扎克斯化身
编写人沙哈尔·扎克斯
一周前更新

Code Ocean上发布的所有胶囊都经过了计算再现性和质量验证。

实际上,这意味着Code Ocean工作人员会检查平台上提交用于发布或同行审查的所有内容。这是我们要寻找的。

Code Ocean的计算再现性和质量检查表:

1.保存所有具体结果/results文件夹.

因为代码海洋毫无头绪地奔跑默认情况下(即在运行时没有用户输入选项),应该显式保存文件。如果您的结果是打印到控制台的计算,它将保存在名为“output”的字段中。

2确保胶囊的标题有意义,让读者更好地了解胶囊中包含的内容:

您可以使用手稿标题或在探索第页。

3.写一个主脚本重现你的分析尽可能完整。

如果您有五个分析脚本,那么您的主脚本应该依次运行它们。如果您有多个数据集,您的代码应该在默认情况下分析所有数据集(只要可能)。因为所有发布的结果都经过验证是可复制的,所以不需要其他人运行您发布的代码,除非他们正在进行修改或扩展——所以长时间运行不是问题。

  • 注:您可以手动修改运行脚本来运行多个脚本,我们建议去掉所有注释#此文件的前一版本已注释完毕,如下所示.

4.安装所有库和依赖项通过环境屏幕,而不是在运行时。

这是为了保证长期的再现性。如果您在每次运行代码时都安装了一些东西,我们无法保证这些命令将来会继续成功执行。相比之下,通过内置程序包管理器和命令通过运行postInstall脚本,将在构建环境时仅执行一次,然后将其结果缓存到环境中。对于已发布的胶囊,这意味着已安装的库也是可通过下载的Docker映像的一部分出口胶囊.

  • 注释:依赖项通常应下载,而不是上载到/code文件夹;但如果依赖关系不再在线可用,则由您自行决定。如有必要,请在您的文档中为读者澄清什么是依赖项,以及哪些代码是唯一负责生成结果的代码。

5.上传所有必要的数据文件/数据文件夹。

确保读者理解清楚,并简化Git跟踪在Code Ocean中,数据不应进入/代码文件夹。因为URL和下载语法往往会随着时间而改变,所以在运行时也不应该下载数据。

  • 注:如果您强烈希望将大文件放在其他位置/数据,请将其添加到您的。吉特忽略

6.上传源代码而不是编译的二进制文件,然后在运行时编译二进制文件.

再现性意味着可检查性,只要可能,读者应该能够验证算法或分析的内部工作。



7.提供为广泛的可理解性提供足够的元数据包括:

  • 任何合适的标签;

  • 描述窗格中抽象的几行,或整个事物;

  • 有关相关出版物的任何信息;

  • 作者的所有从属关系(如果没有可用的,则使用“N/A”);

  • 如果您希望更改默认许可证(MIT代表代码,CC0代表数据)、新许可证;

  • A类代表性图像(将鼠标悬停在元数据中的语言符号上->“上传图像”)。

8.删除不必要的文件

例如,日志、<>/__pycache__、temp、空文件等。

Code Ocean是否验证胶囊中的结果与已发表文章中的结果相匹配?

我们没有。我们没有进行同行评审。我们的验证过程确保了结果在机械意义上的可再现性:用户按下“运行”按钮并获得结果,除非用户对代码进行了更改,否则每次运行时,这些结果都应该相同,或者非常接近。

问题或评论?

我们很高兴在support@codeoean.com.

这回答了你的问题吗?