тензор потока: разница между tf.random.normal и tf.distributions.normal - PullRequest
0 голосов
/ 03 июня 2019

В чем разница между tf.random.normal и tf.distributions.Normal?Или разница между tf.distributions.Multinomial и tf.random.multinomial или чем-то подобным?1005 *

1 Ответ

1 голос
/ 03 июня 2019

Я недавно посмотрел на tf probability, новое место для tf distributions. Это мое понимание:

Они не одинаковы. tf.distributions.Normal даст вам объект распределения, из которого вы можете выбрать (это будет то же самое, что вычисление тензора, возвращенного вызовом функции tf.random.normal для тех же средних значений и значений loc). Но дистрибутив дополнительно позволяет вам оценить вероятность предоставленной вами выборки и все аспекты доступа к дистрибутиву.

Например, вы можете сделать следующее:

>>> import tensorflow as tf
>>> dist = tf.distributions.Normal(loc=0., scale=1.)
>>> dist.log_prob(tf.random.normal(shape=(3,3)))
<tf.Tensor: id=58, shape=(3, 3), dtype=float32, numpy=
array([[-0.9486696 , -0.95645994, -1.1610177 ],
       [-1.244764  , -1.416851  , -1.1236244 ],
       [-0.9292835 , -0.98901427, -0.9705758 ]], dtype=float32)>
...