def __call__(self, inputs, state, scope=None):
with _checked_scope(self, scope or "ran_cell", reuse=self._reuse):
with vs.variable_scope("gates"):
value = tf.nn.sigmoid(linear([state, inputs], 2 * self._num_units, True, normalize=self._normalize))
i, f = array_ops.split(value=value, num_or_size_splits=2, axis=1)
with vs.variable_scope("candidate"):
c = linear([inputs], self._num_units, True, normalize=self._normalize)
new_c = i * c + f * state
new_h = self._activation(c)
return new_h, new_c
评论列表
文章目录