Beispiel #1
0
    def __init__(self, field_dims, embed_dim, mlp_layers=(400, 400, 400), dropouts=(0.5, 0.5)):
        super(NeuralFactorizationMachineModel, self).__init__()

        self.linear = FeaturesLinear(field_dims)  # 线性部分
        self.embedding = FeaturesEmbedding(field_dims, embed_dim)  # 交互部分
        self.fm = FactorizationMachine(embed_dim, reduce_sum=False)
        self.mlp = MultiLayerPerceptron(embed_dim, mlp_layers, dropouts[1])
Beispiel #2
0
 def __init__(self, field_dims, embed_dim, mlp_dims, dropout):
     super().__init__()
     self.linear = FeaturesLinear(field_dims)
     self.fm = FactorizationMachine(reduce_sum=True)
     self.embedding = FeaturesEmbedding(field_dims, embed_dim)
     self.embed_output_dim = len(field_dims) * embed_dim
     self.mlp = MultiLayerPerceptron(self.embed_output_dim, mlp_dims, dropout)
Beispiel #3
0
 def __init__(self, field_dims, embed_dim, mlp_dims, dropouts):
     super().__init__()
     self.embedding = FeaturesEmbedding(field_dims, embed_dim)
     self.linear = FeaturesLinear(field_dims)
     self.fm = torch.nn.Sequential(FactorizationMachine(reduce_sum=False),
                                   torch.nn.BatchNorm1d(embed_dim),
                                   torch.nn.Dropout(dropouts[0]))
     self.mlp = MultiLayerPerceptron(embed_dim, mlp_dims, dropouts[1])
Beispiel #4
0
    def __init__(self, field_dims, embed_dim, mlp_layers=(400,400,400),dropouts=(0.5, 0.5),type="glu"):
        super(GFRLNFM, self).__init__()

        self.linear = FeaturesLinear(field_dims)  # 线性部分

        self.embedding_gate = FeaturesEmbeddingWithGlobalIn(field_dims,embed_dim,type=type)

        self.fm = FactorizationMachine(reduce_sum=False)

        self.mlp = MultiLayerPerceptron(embed_dim, mlp_layers, dropouts[1])
Beispiel #5
0
    def __init__(self, field_dims, embed_dim, type_c="hard"):
        """
        :param field_dims: list, 每个field的
        :param embed_dim:
        """
        super(MyIFM, self).__init__()

        self.fc = FeaturesLinear(field_dims)
        # 特征
        self.embedding = FeaturesEmbedding(field_dims, embed_dim)
        self.myFM = MyIFMLayer(field_dims, embed_dim, type_c=type_c)
        self.fm = FactorizationMachine(embed_dim, reduce_sum=True)
Beispiel #6
0
    def __init__(self,
                 field_dims,
                 embed_dim,
                 mlp_layers=(128, 64),
                 dropout=0.5,
                 field_len=10):
        super(DeepFactorizationMachineModel, self).__init__()
        self.linear = FeaturesLinear(field_dims)
        self.fm = FactorizationMachine(embed_dim=embed_dim, reduce_sum=True)

        self.embedding = FeaturesEmbedding(field_dims, embed_dim)
        self.embed_output_size = field_len * embed_dim
        self.mlp = MultiLayerPerceptron(self.embed_output_size, mlp_layers,
                                        dropout)
Beispiel #7
0
    def __init__(self, field_dims, embed_dim, embed_dims, field_len=10):
        """
        :param field_dims: list, 每个field的
        :param embed_dim:
        """
        super(IFM, self).__init__()

        self.fc = FeaturesLinear(field_dims)
        self.embedding = FeaturesEmbedding(field_dims, embed_dim)
        self.ifm = IFMLayer(field_dims,
                            embed_dim,
                            embed_dims=embed_dims,
                            field_len=field_len)

        self.fm = FactorizationMachine(embed_dim, reduce_sum=True)
Beispiel #8
0
    def __init__(self,
                 field_dims,
                 embed_dim,
                 mlp_layers=(128, 64),
                 dropout=0.5,
                 type="glu"):
        super(GELDFM, self).__init__()
        self.linear = FeaturesLinear(field_dims)

        self.fm = FactorizationMachine(reduce_sum=True)
        self.embedding = FeaturesEmbeddingWithGlobalIn(field_dims,
                                                       embed_dim,
                                                       type=type)
        self.embed_output_size = len(field_dims) * embed_dim

        self.mlp = MultiLayerPerceptron(self.embed_output_size, mlp_layers,
                                        dropout)
Beispiel #9
0
 def __init__(self, field_dims, embed_dim):
     super().__init__()
     self.embedding = FeaturesEmbedding(field_dims, embed_dim)
     self.linear = FeaturesLinear(field_dims)
     self.fm = FactorizationMachine(reduce_sum = True)