コード例 #1
0
ファイル: autoint.py プロジェクト: nicaibutou1993/ZimuRecSys
    def __init__(self,
                 user_num=4691,
                 movie_num=2514,
                 year_num=76,
                 genre_num=9,
                 embedding_size=16,
                 att_embedding_size=16,
                 head_num=2,
                 att_layer_num=3,
                 use_res=True):
        self.user_num = user_num
        self.movie_num = movie_num
        self.year_num = year_num
        self.genre_num = genre_num
        self.embedding_size = embedding_size
        self.att_layer_num = att_layer_num

        self.att_embedding_size = att_embedding_size
        self.head_num = head_num
        self.use_res = use_res

        self.fm = FM(user_num=self.user_num,
                     movie_num=self.movie_num,
                     year_num=self.year_num,
                     genre_num=self.genre_num,
                     embedding_size=self.embedding_size)
コード例 #2
0
    def __init__(self,
                 user_num=4691,
                 movie_num=2514,
                 year_num=76,
                 genre_num=9,
                 embedding_size=16,
                 dnn_hidden_units=(
                     128,
                     128,
                 ),
                 cross_layer_num=2):
        self.user_num = user_num
        self.movie_num = movie_num
        self.year_num = year_num
        self.genre_num = genre_num
        self.embedding_size = embedding_size

        self.dnn_hidden_units = dnn_hidden_units
        self.cross_layer_num = cross_layer_num

        self.fm = FM(user_num=self.user_num,
                     movie_num=self.movie_num,
                     year_num=self.year_num,
                     genre_num=self.genre_num,
                     embedding_size=self.embedding_size)
コード例 #3
0
    def train(self):
        self.train_dataset, \
        self.test_dataset = self.data_process.generate_data(batch_size=self.batch_size,
                                                            epoch=self.epoch)

        fm = FM(user_num=self.user_num,
                movie_num=self.movie_num,
                year_num=self.year_num,
                genre_num=self.genre_num,
                embedding_size=self.embedding_size,
                is_sigmoid=True)

        fm_model = fm.get_fm_model()
        fm_model.summary()
        fm_model.compile(optimizer="adam",
                         loss=keras.losses.binary_crossentropy,
                         metrics=["accuracy"])

        fm_model.fit(self.train_dataset,
                     epochs=self.epoch,
                     steps_per_epoch=1270010 // self.batch_size + 1,
                     callbacks=[
                         get_callback(self.test_dataset, self.model_path,
                                      self.version)
                     ])
コード例 #4
0
    def __init__(self,
                 user_num=4691,
                 movie_num=2514,
                 year_num=76,
                 genre_num=9,
                 embedding_size=16,
                 attention_fator=16):
        """
        :param user_num:
        :param movie_num:
        :param year_num:
        :param genre_num:
        :param embedding_size:
        :param attention_fator: attention dense num
        """
        self.user_num = user_num
        self.movie_num = movie_num
        self.year_num = year_num
        self.genre_num = genre_num
        self.embedding_size = embedding_size

        self.attention_fator = attention_fator

        self.fm = FM(user_num=self.user_num,
                     movie_num=self.movie_num,
                     year_num=self.year_num,
                     genre_num=self.genre_num,
                     embedding_size=self.embedding_size)
コード例 #5
0
ファイル: wdl.py プロジェクト: nicaibutou1993/ZimuRecSys
    def __init__(self,
                 user_num=4691,
                 movie_num=2514,
                 year_num=76,
                 genre_num=9,
                 embedding_size=16):
        self.user_num = user_num
        self.movie_num = movie_num
        self.year_num = year_num
        self.genre_num = genre_num
        self.embedding_size = embedding_size

        self.fm = FM(user_num=self.user_num,
                     movie_num=self.movie_num,
                     year_num=self.year_num,
                     genre_num=self.genre_num,
                     embedding_size=self.embedding_size)