首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计模式以处理不同的数据类型(避免EVA反模式)

设计模式以处理不同的数据类型(避免EVA反模式)
EN

Database Administration用户
提问于 2019-05-22 20:06:30
回答 1查看 200关注 0票数 -1

所以我有一个存储ML模型元数据的表。我有一张能装我模特的桌子。我还需要包含超参数信息(历元、batch_size、weight_decay、类等)。我不想将它包含在下面的模型表中,因为在某些情况下,它们可能是空的,而且还不够通用。例如,当我们需要添加另一个超级参数时,在2个月内会发生什么?

一个模型可以有多个超参数。这将导致我设计的关系是多到多的关系。

所以

问题是它们可以是不同的类型。历元(int),batch_size (int),weight_decay (浮点),类(字符串)。

A(模型,relative_model_path),B(model_fk,hyper_parameter_fk,value) C(hyper_parameter)

所以,例如

代码语言:javascript
复制
A
---
modelA, /models/modelA.h5
modelB, /models/modelB.h5

B
---
modelA, epochs, 5
modelA, weight_decay, .1
modelA, classes, "my_model"
modelB, batch_size, 2
modelB, classes, "modelB_model"

C
---
epochs
weight_decay
classes
learning_rate
batch_size

因此,在我的示例中,value列将包含一个int、string和float,这是不好的。我觉得我也遇到了EAV – Entity-Attribute-Value反模式,但我不太确定如何围绕这个模式进行设计。

EN

回答 1

Database Administration用户

发布于 2019-05-25 11:31:38

您可能需要研究的一种模式是类表继承。这是一种设计技术,使SQL数据库设计人员能够在面向对象的环境中模拟继承带来的好处。

这是否与您的案例相关,取决于将某些模型作为泛型模型的专门版本在这里是否有意义。ER建模中的专门化表达了类似于子类在对象模型中表达的内容。

通过查看这里或在web上搜索,您可以获得更多关于类表继承的记录。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/238821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档