示例#1
0
    def __init__(self, sess, config, dataset, evaluator):
        super(CFGAN, self).__init__(sess, config, dataset, evaluator)
        train_matrix = dataset.train_matrix
        self.users_num, self.items_num = train_matrix.shape

        self.g_lr = config["g_lr"]
        self.d_lr = config["d_lr"]
        self.d_hidden_units = config["d_hidden_units"]
        self.g_hidden_units = config["g_hidden_units"]
        self.epochs = config["epochs"]
        self.batch_size = config["batch_size"]

        self.s_zr = config["s_zr"]
        self.s_pm = config["s_pm"]
        self.alpha = config["alpha"]

        self.user_pos_train = csr_to_user_dict(train_matrix)
        self.all_items = np.arange(self.items_num)
        self.evaluator = evaluator
        self.train_matrix_dense = train_matrix.todense()

        self.g_layers = None
        self.d_layers = None

        self._build_model()
        self.sess = sess
        self.sess.run(tf.global_variables_initializer())
示例#2
0
文件: APL.py 项目: niejunli/TFRec
    def __init__(self):
        super(APL, 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.g_reg = self.config["g_reg"]
        self.d_reg = self.config["d_reg"]
        self.epochs = self.config["epochs"]
        self.batch_size = self.config["batch_size"]
        self.pretrain_file = self.config["pretrain_file"]

        self.user_pos_train = csr_to_user_dict(train_matrix)

        self.all_items = np.arange(self.items_num)

        self._build_model()
        self.sess.run(tf.global_variables_initializer())
示例#3
0
文件: CML.py 项目: niejunli/TFRec
    def __init__(self):
        super(CML, 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.dns = self.config["dns"]
        self.margin = self.config["margin"]
        self.clip_norm = self.config["clip_norm"]

        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())
示例#4
0
    def __init__(self, sess, config, dataset, evaluator):
        super(APR, 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.reg_adv = config["reg_adv"]
        self.epochs = config["epochs"]
        self.batch_size = config["batch_size"]
        self.eps = config["eps"]
        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())
示例#5
0
文件: APR.py 项目: niejunli/TFRec
    def __init__(self):
        super(APR, self).__init__()
        train_matrix = self.dataset.train_matrix
        self.num_users, self.num_items = train_matrix.shape

        self.embedding_size = self.config["embed_size"]
        self.learning_rate = self.config["lr"]
        self.batch_size = self.config["batch_size"]
        self.reg = self.config["reg"]
        self.dns = self.config["dns"]
        self.adv = self.config["adv"]
        self.eps = self.config["eps"]
        self.adv_epoch = self.config["adv_epoch"]
        self.reg_adv = self.config["reg_adv"]
        self.epochs = self.config["epochs"]
        self.train_matrix = train_matrix

        self.user_pos_train = csr_to_user_dict(train_matrix)

        self.all_items = np.arange(self.num_items)
        self.build_model()
        self.sess.run(tf.global_variables_initializer())
示例#6
0
文件: CFGAN.py 项目: niejunli/TFRec
    def __init__(self):
        super(CFGAN, self).__init__()

        self.epochs = self.config["epochs"]
        self.mode = self.config["mode"]
        self.reg_G = self.config["reg_g"]
        self.reg_D = self.config["reg_d"]
        self.lr_G = self.config["lr_g"]
        self.lr_D = self.config["lr_d"]
        self.batchSize_G = self.config["batchsize_g"]
        self.batchSize_D = self.config["batchsize_d"]

        self.opt_G = self.config["opt_g"]
        self.opt_D = self.config["opt_d"]
        self.hiddenLayer_G = self.config["hiddenlayer_g"]
        self.hiddenLayer_D = self.config["hiddenlayer_d"]
        self.step_G = self.config["step_g"]
        self.step_D = self.config["step_d"]

        self.ZR_ratio = self.config["zr_ratio"]
        self.ZP_ratio = self.config["zp_ratio"]
        self.ZR_coefficient = self.config["zr_coefficient"]

        self.train_matrix = self.dataset.train_matrix.copy()
        # convert explicit data to implicit data
        self.train_matrix.data[:] = 1

        if self.mode == "itemBased":
            self.train_matrix = self.train_matrix.transpose(copy=True).tocsr()

        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())