Tensorflow 如何可视化tf.contrib.distribution.multivariationarmaldiag?

Tensorflow 如何可视化tf.contrib.distribution.multivariationarmaldiag?,tensorflow,Tensorflow,我构造了一个变分自动编码器,其潜在分布为多元正态分布。我想存储分布并将其可视化(在tensorboard或其他软件中)。但是,当我尝试从FileWriter使用add\u summary时,我得到一个错误-多变量诊断对象没有属性“value”。如何存储和显示高斯分布? 守则: import tensorflow as tf tfd = tf.contrib.distribution input = tf.placeholder(tf.float32, [None, 9]) x = tf.lay

我构造了一个变分自动编码器,其潜在分布为多元正态分布。我想存储分布并将其可视化(在tensorboard或其他软件中)。但是,当我尝试从
FileWriter
使用
add\u summary
时,我得到一个错误-
多变量诊断对象没有属性“value”
。如何存储和显示高斯分布? 守则:

import tensorflow as tf
tfd = tf.contrib.distribution

input = tf.placeholder(tf.float32, [None, 9])
x = tf.layers.dense(input,200, tf.nn.relu)
x = tf.layers.dense(x,200,tf.nn.relu)
loc = tf.layers.dense(x,1)
scale = tf.layers.dense(x,1,tf.nn.softplus)
latent = tfd.MultivariateNormalDiag(loc,scale)
# getting loss and minimizing it
writer = tf.summary.FileWriter("/tmp/dist")
writer.add_summary(latent) # Error over here

您应该将
tf.Summary
传递给
writer.add\u Summary()
。 而是传递一个
tfd.multivarianentormaldiag
,它没有
字段

tfd.multivarianentormaldiag
中提取要写入的值,并使用该值创建一个
tf.Summary
。然后将其传递给
writer.add\u summary()


查阅更多信息

因此,为了可视化,我是否需要获得均值和方差,以便以一种可以在tf.Summary中阅读的方式构建正态分布?是的,这是一个好主意。提取均值和方差标量,并使用writer.add_summary()写出它们。然后可以创建相应正态分布的绘图。