def process_leafs(self,emb):
#emb: [num_leaves, emd_dim]
with tf.variable_scope("btp_Composition",reuse=True):
cU = tf.get_variable("cU",[self.emb_dim,2*self.hidden_dim])
cb = tf.get_variable("cb",[4*self.hidden_dim])
b = tf.slice(cb,[0],[2*self.hidden_dim])
#??????input gate?forget gate,????output gate ?Input value
def _recurseleaf(x):
#[1, emb_dim], [emb_dim, 2*self.hidden_dim]
concat_uo = tf.matmul(tf.expand_dims(x,0),cU) + b
#?concat_uo???
#[1*hidden_dim] [1*hidden_dim]
u,o = tf.split(axis=1,num_or_size_splits=2,value=concat_uo)
o=tf.nn.sigmoid(o)
u=tf.nn.tanh(u)
c = u#tf.squeeze(u)
h = o * tf.nn.tanh(c)
hc = tf.concat(axis=1,values=[h,c])
hc=tf.squeeze(hc)
return hc
hc = tf.map_fn(_recurseleaf,emb)
#hc [num_leaves, 2*hidden_dim]
return hc
context_encoding.py 文件源码
python
阅读 85
收藏 0
点赞 0
评论 0
评论列表
文章目录