def __init__(self): super(BPR, self).__init__() train_matrix = self.dataset.train_matrix self.users_num, self.items_num = train_matrix.shape self.factors_num = self.config["factors_num"] self.lr = self.config["lr"] self.reg = self.config["reg"] self.epochs = self.config["epochs"] self.batch_size = self.config["batch_size"] self.user_pos_train = csr_to_user_dict(train_matrix) self.all_items = np.arange(self.items_num) self.train_matrix = train_matrix self._build_model() self.sess.run(tf.global_variables_initializer())
def __init__(self): super(CDAE, self).__init__() self.lr = self.config["lr"] self.reg = self.config["reg"] self.batch_size = self.config["batch_size"] self.hidden_units = self.config["hidden_units"] self.epochs = self.config["epochs"] self.neg_num = self.config["neg_num"] self.corrupt_prob = self.config["corrupt_prob"] self.loss_function = self.config["loss"] self.train_matrix = self.dataset.train_matrix.copy() # convert explicit data to implicit data self.train_matrix.data[:] = 1 self.users_num, self.items_num = self.train_matrix.shape self.user_pos_train = csr_to_user_dict(self.train_matrix) self.all_items = np.arange(self.items_num) self._build_model() self.sess.run(tf.global_variables_initializer())
def __init__(self, sess, config, dataset, evaluator): super(IRGAN, self).__init__(sess, config, dataset, evaluator) train_matrix = dataset.train_matrix self.users_num, self.items_num = train_matrix.shape self.factors_num = config["factors_num"] self.lr = config["lr"] self.g_reg = config["g_reg"] self.d_reg = config["d_reg"] self.epochs = config["epochs"] self.batch_size = config["batch_size"] self.d_tau = config["d_tau"] self.pretrain_file = config["pretrain_file"] self.user_pos_train = csr_to_user_dict(train_matrix) self.all_items = np.arange(self.items_num) self.evaluator = evaluator self._build_model() self.sess = sess self.sess.run(tf.global_variables_initializer())
def __init__(self, sess, config, dataset, evaluator): super(BPR, self).__init__(sess, config, dataset, evaluator) train_matrix = dataset.train_matrix self.users_num, self.items_num = train_matrix.shape self.factors_num = config["factors_num"] self.lr = config["lr"] self.reg = config["reg"] self.epochs = config["epochs"] self.batch_size = config["batch_size"] self.user_pos_train = csr_to_user_dict(train_matrix) self.all_items = np.arange(self.items_num) self.evaluator = evaluator self.mf = MatrixFactorization(self.users_num, self.items_num, self.factors_num, name=self.__class__.__name__) self._build_model() self.sess = sess self.sess.run(tf.global_variables_initializer())
def __init__(self, train_matrix, test_matrix, top_k=50): super(FoldOutEvaluator, self).__init__() self.top_k = top_k self.user_pos_train = csr_to_user_dict(train_matrix) self.user_pos_test = csr_to_user_dict(test_matrix)