所以我想编写一些小软件,这些软件是在集群或任意抽象的执行者上运行/执行ML实验,然后保存它们,以便我可以在Real中查看它们时间有效。执行程序软件将有权访问数据库,并将实时推动指标。现在,我在数据库中没有太多工作,因此我不确定正确的方法是什么。这是系统应存储的内容的描述:
每个实验将由一个代码/代码档案组成,以便可以在远程计算机上执行。现在,我们将假设允许依赖项等安装在那里。该代码将接受命令行参数。该实验还将由定义命令行参数的YAML方案组成。在"代码"中,Byitself将指定将要登录的内容(例如,我将提供一个语言中的库来注册频道)。现在,在日志记录方面,您可以记录数值,数组,文本等,因此可以实现很多类型。每个通道将被允许单个规范(例如2列,第一个int迭代,第二浮子错误)。该代码还将在实验末尾提供参数的特殊副本。
一个人提交实验时,它将需要提供其唯一的组名称 参数以进行执行。这将启动实验并记录所有内容。
对我实施此功能最容易使用平面文件系统。每个项目都有一个唯一的名称。每个新实验都会在项目内部都有一个唯一的ID和文件夹。我可以将代码存储在那里。每个通道都会获取一个文件,为简单起见,该文件可以是CSV分隔线,其中一个特殊的架构文件描述了其中存储了哪种类型的值,因此我可以将它们加载到那里。最终参数也可以在文件夹中复制。
但是,由于我可以做到多种方法,并且对于每个实验可能需要一个单独的"表",所以我不知道在任何数据库系统中是否可以做到这一点?此外,也许我要监督一些很明显的东西,或者也许不是,如果您对此有任何经验,最受欢迎的建议/建议。主要目标是能够将其用于Web界面。也许NOSQL可以容纳这一点(我不知道这些工作方式)?
ML的数据主要是非结构化数据。这种数据自然不会适合RDBMS。从本质上讲,像MongoDB这样的文档数据库非常适合……对于这种情况。