def lambda_preturn_network(preturns, lambdas):
# Final lamdba must be zero
final_lambda = tf.Assert(
tf.reduce_all(tf.equal(lambdas[:, -1, :], 0.0)), [lambdas[:, -1, :]])
with tf.control_dependencies([final_lambda]):
with tf.variable_scope('lambda_preturn'):
accum_lambda = tf.cumprod(lambdas, axis=1, exclusive=True)
lambda_bar = (1 - lambdas) * accum_lambda # This should always sum to 1
lambda_preturn = tf.reduce_sum(
lambda_bar * preturns, reduction_indices=1)
util.activation_summary(lambda_preturn)
return lambda_preturn
评论列表
文章目录