binary_vae_multilayer_per_layer.py 文件源码

python
阅读 34 收藏 0 点赞 0 评论 0

项目:relax 作者: duvenaud 项目源码 文件源码
def v_from_u(u, log_alpha, force_same=True):
    # Lovingly copied from https://github.com/tensorflow/models/blob/master/research/rebar/rebar.py
    u_prime = tf.nn.sigmoid(-log_alpha)
    v_1 = (u - u_prime) / safe_clip(1 - u_prime)
    v_1 = tf.clip_by_value(v_1, 0, 1)
    v_1 = tf.stop_gradient(v_1)
    v_1 = v_1 * (1 - u_prime) + u_prime
    v_0 = u / safe_clip(u_prime)
    v_0 = tf.clip_by_value(v_0, 0, 1)
    v_0 = tf.stop_gradient(v_0)
    v_0 = v_0 * u_prime

    v = tf.where(u > u_prime, v_1, v_0)
    v = tf.check_numerics(v, 'v sampling is not numerically stable.')
    if force_same:
        v = v + tf.stop_gradient(-v + u)  # v and u are the same up to numerical errors
    return v
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号