我正在尝试将两个高斯分布相乘以获得 GMM 数据的后验。为了做到这一点,我试图使用.prob()
来自 的函数tf.contrib.distributions.MultivariateNormalDiag
,但每次我得到同样的错误,即使我提供的参数是float64
.
我正在使用 TensorFlow 1.8 版本。
x = tf.placeholder(tf.float64, [None,2], name="input")
likelihood = tf.contrib.distributions.MultivariateNormalDiag(loc = [0., 0., 0.], scale_diag= [1., 1., 1.])
y_LL = likelihood.prob(x).eval()
TypeError:输入有 dtype
<dtype: 'float32'>
但预期<dtype: 'float64'>.
我很困惑我是否以错误的方式做事,还是什么?有人可以帮我吗?