2017-01-25 14 views
1

В Matlab, можно вычислить функцию плотности вероятности (PDF) гауссова распределения с помощьюкак вычислить PDF в tensorflow

x = [0.8147,0.9058,0.1270,0.9134,0.6324,0.0975,0.2785,0.5469,0.9575,0.9649] 
y = normpdf(x,1.0,2.5) 

выход:

y = 0.1591 0.1595 0.1501 0.1595 0.1579 0.1495 0.1531 0.1570 0.1596 0.1596 

Используя tensorflow, я попытался с это

x = tf.variable([0.8147,0.9058,0.1270,0.9134,0.6324,0.0975,0.2785,0.5469,0.9575,0.9649],tf.float32) 
y = tf.contrib.distributions.NormalWithSoftplusSigma.pdf(x) 

Я получаю сообщение об ошибке TypeError: pdf missing 1 required positional argument

Как ввести значения mu и sigma в это распределение? для получения аналогичного результата.

ответ

1

Сначала создайте Normal distributions объект, а затем использовать метод pdf

dist = tf.contrib.distributions.Normal(1.0, 2.5) 
y = dist.pdf(x) 

См this для более подробной информации.

+0

спасибо большое – Raady

+0

Ссылка на детали мертв – slcott

1

Эта функция pdf обновляется prob:

dist = tf.contrib.distributions.Normal(1.0, 2.5) 
y = dist.prob(x)