code: def vq_discrete_unbottleneck(x, hidden_size):
    
    x_shape = common_layers.shape_list(x)
    x = tf.to_float(x)
    bottleneck_size = common_layers.shape_list(x)[-1]
    means, _, _ = get_vq_codebook(bottleneck_size, hidden_size)
    result = tf.matmul(tf.reshape(x, [-1, x_shape[-1]]), means)
    return tf.reshape(result, x_shape[:-1] + [hidden_size])
docs: Simple undiscretization from vector quantized representation.