我正在尝试将代码从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
方法是什么?
答案 0 :(得分:1)
在爱德华中,复制取决于不受支持的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