我正在尝试将我的代码从 更改edward
为tensorflow_probability.edward2
. 问题是,每当我定义后验分布时,我都会使用a_post = ed.copy(a, {u: qu}, scope='a_post')
但.copy
API 似乎不再可用:
module 'tensorflow_probability.python.edward2' has no attribute 'copy'
tensorflow_probability
做同样操作的方法是什么?
我正在尝试将我的代码从 更改edward
为tensorflow_probability.edward2
. 问题是,每当我定义后验分布时,我都会使用a_post = ed.copy(a, {u: qu}, scope='a_post')
但.copy
API 似乎不再可用:
module 'tensorflow_probability.python.edward2' has no attribute 'copy'
tensorflow_probability
做同样操作的方法是什么?
在 edward 中,复制依赖于不受支持的 TF 图遍历和复制。在 edward2 中,该方法基于跟踪,使用“拦截器”。查看https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/deep_exponential_family.py以获取使用“磁带”拦截器的 VI 示例。
更新:这可能是一个更简单和/或更熟悉的(LDA)示例:https ://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/latent_dirichlet_allocation_edward2.py