def __init__(self, n_documents, n_topics, n_dim, temperature=1.0,
W_in=None, factors_in=None):
self.n_documents = n_documents
# self.n_topics = n_topics
# self.n_dim = n_dim
self.temperature = temperature
self.dropout = tf.placeholder_with_default(1., shape=[], name="dropout")
scalar = 1 / np.sqrt(n_documents + n_topics)
self.W = (tf.Variable( # unnormalized embedding weights
tf.random_normal([n_documents, n_topics], mean=0, stddev=50*scalar),
name="doc_embeddings") if W_in is None else W_in)
# factors = (tf.Variable( # topic vectors
# _orthogonal_matrix((n_topics, n_dim)).astype("float32") * scalar,
# name="topics") if factors_in is None else factors_in)
# tf 0.12.0 only
factors = (tf.get_variable("topics", shape=(n_topics, n_dim),
dtype=tf.float32, initializer=
tf.orthogonal_initializer(gain=scalar))
if factors_in is None else factors_in)
self.factors = tf.nn.dropout(factors, self.dropout)
评论列表
文章目录