class tf.contrib.bayesflow.stochastic_tensor.SampleValue
Defined in tensorflow/contrib/bayesflow/python/ops/stochastic_tensor_impl.py.
See the guide: BayesFlow Stochastic Tensors (contrib) > Stochastic Tensor Value Types
Draw samples, possibly adding new outer dimensions along the way.
This ValueType draws samples from StochasticTensors run within its context, increasing the rank according to the requested shape.
Examples:
mu = tf.zeros((2,3))
sigma = tf.ones((2, 3))
with sg.value_type(sg.SampleValue()):
st = sg.StochasticTensor(
tf.contrib.distributions.Normal, mu=mu, sigma=sigma)
# draws 1 sample and does not reshape
assertEqual(st.value().get_shape(), (2, 3))
mu = tf.zeros((2,3))
sigma = tf.ones((2, 3))
with sg.value_type(sg.SampleValue(4)):
st = sg.StochasticTensor(
tf.contrib.distributions.Normal, mu=mu, sigma=sigma)
# draws 4 samples each with shape (2, 3) and concatenates
assertEqual(st.value().get_shape(), (4, 2, 3))
Properties
shape
stop_gradient
Methods
__init__
__init__(
shape=(),
stop_gradient=False
)
Sample according to shape.
For the given StochasticTensor st using this value type,
the shape of st.value() will match that of
st.distribution.sample(shape).
Args:
shape: A shape tuple or int32 tensor. The sample shape. Default is a scalar: take one sample and do not change the size.stop_gradient: IfTrue, StochasticTensors' values are wrapped instop_gradient, to avoid backpropagation through.
declare_inputs
declare_inputs(
unused_stochastic_tensor,
unused_inputs_dict
)
popped_above
popped_above(unused_value_type)
pushed_above
pushed_above(unused_value_type)
