模型定义
稀疏模型
稀疏部分的定义由特征转换(Feature Engine)与向量查找(Embedding Engine)组建完成的,可参考对应文档:
另外可以通过FG模块快速完成上述两部分的定义,可参考
稠密模型
模型的稠密部分可以直接通过torch的原生api自由定义
简单示例
使用Feature Engine / Embedding Engine构建
class MyModel(nn.Module):
def __init__(self, feature_conf, emb_opt):
self.feature_engine = FeatureEngine(feature_conf)
self.embedding_engine = EmbeddingEngine(emb_opt)
# ...
def forward(self, samples):
samples = self.feature_engine(samples)
samples = self.embedding_engine(samples)
label = samples.pop("label")
# ...
使用FG模块构建
class MyModel(nn.Module):
def __init__(self, fg: FG):
self.sparse_arch = RecISModel.from_fg(fg)
# ...
def forward(self, samples):
samples, ids, labels = self.sparse_arch(samples)
label = labels["label"]
# ...