def __init__(self, itm_cnt, usr_cnt, dim_hidden, n_time_step, learning_rate, grad_clip, emb_dim, lamda=0.2, initdelta=0.05,MF_paras=None,model_type="rnn",use_sparse_tensor=False):
"""
Args:
dim_itm_embed: (optional) Dimension of item embedding.
dim_usr_embed: (optional) Dimension of user embedding.
dim_hidden: (optional) Dimension of all hidden state.
n_time_step: (optional) Time step size of LSTM.
usr_cnt: (optional) The size of all users.
itm_cnt: (optional) The size of all items.
"""
self.V_M = itm_cnt
self.V_U = usr_cnt
self.param=MF_paras
self.H = dim_hidden
self.T = n_time_step
self.MF_paras=MF_paras
self.grad_clip = grad_clip
self.weight_initializer = tf.contrib.layers.xavier_initializer()
self.const_initializer = tf.constant_initializer(0.0)
self.emb_initializer = tf.random_uniform_initializer(minval=-1.0, maxval=1.0)
# Place holder for features and captions
if use_sparse_tensor:
self.item_sequence = tf.placeholder(tf.float32, [None, self.T, self.V_U])
self.user_sequence = tf.placeholder(tf.float32, [None, self.T, self.V_M])
self.user_indices = tf.placeholder(tf.int64)
self.user_shape = tf.placeholder(tf.int64)
self.user_values = tf.placeholder(tf.float64)
user_sparse_tensor = tf.SparseTensor(user_indices, user_shape, user_values)
self.user_sequence = tf.sparse_tensor_to_dense(user_sparse_tensor)
self.item_indices = tf.placeholder(tf.int64)
self.item_shape = tf.placeholder(tf.int64)
self.item_values = tf.placeholder(tf.float64)
item_sparse_tensor = tf.SparseTensor(item_indices, item_shape, item_values)
self.item_sequence = tf.sparse_tensor_to_dense(item_sparse_tensor)
else:
self.item_sequence = tf.placeholder(tf.float32, [None, self.T, self.V_U])
self.user_sequence = tf.placeholder(tf.float32, [None, self.T, self.V_M])
self.rating = tf.placeholder(tf.float32, [None,])
self.learning_rate = learning_rate
self.emb_dim = emb_dim
self.lamda = lamda # regularization parameters
self.initdelta = initdelta
self.u = tf.placeholder(tf.int32)
self.i = tf.placeholder(tf.int32)
self.paras_rnn=[]
self.model_type=model_type
评论列表
文章目录