def testNormalLogPDFMultidimensional(self):
with self.test_session():
batch_size = 6
mu = constant_op.constant([[3.0, -3.0]] * batch_size)
sigma = constant_op.constant([[math.sqrt(10.0), math.sqrt(15.0)]] *
batch_size)
x = np.array([[-2.5, 2.5, 4.0, 0.0, -1.0, 2.0]], dtype=np.float32).T
normal = normal_lib.Normal(loc=mu, scale=sigma)
expected_log_pdf = stats.norm(mu.eval(), sigma.eval()).logpdf(x)
log_pdf = normal.log_prob(x)
log_pdf_values = log_pdf.eval()
self.assertEqual(log_pdf.get_shape(), (6, 2))
self.assertAllClose(expected_log_pdf, log_pdf_values)
self.assertAllEqual(normal.batch_shape().eval(), log_pdf.get_shape())
self.assertAllEqual(normal.batch_shape().eval(), log_pdf.eval().shape)
self.assertAllEqual(normal.get_batch_shape(), log_pdf.get_shape())
self.assertAllEqual(normal.get_batch_shape(), log_pdf.eval().shape)
pdf = normal.prob(x)
pdf_values = pdf.eval()
self.assertEqual(pdf.get_shape(), (6, 2))
self.assertAllClose(np.exp(expected_log_pdf), pdf_values)
self.assertAllEqual(normal.batch_shape().eval(), pdf.get_shape())
self.assertAllEqual(normal.batch_shape().eval(), pdf_values.shape)
self.assertAllEqual(normal.get_batch_shape(), pdf.get_shape())
self.assertAllEqual(normal.get_batch_shape(), pdf_values.shape)
normal_test.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录