utils
– Friendly random numbers¶
Guide¶
Since Aesara uses a functional design, producing pseudorandom numbers in a graph is not quite as straightforward as it is in numpy.
The way to think about putting randomness into Aesara’s computations is to put random variables in your graph. Aesara will allocate a numpy RandomState object for each such variable, and draw from it as necessary. We will call this sort of sequence of random numbers a random stream.
For an example of how to use random numbers, see Using Random Numbers.
Reference¶

class
aesara.tensor.random.utils.
RandomStream
[source]¶ This is a symbolic standin for
numpy.random.RandomState
.
updates
()[source]¶ Returns: a list of all the (state, new_state) update pairs for the random variables created by this object This can be a convenient shortcut to enumerating all the random variables in a large graph in the
update
parameter of function.

seed
(meta_seed)[source]¶ meta_seed
will be used to seed a temporary random number generator, that will in turn generate seeds for all random variables created by this object (viagen
).Returns: None

gen
(op, *args, **kwargs)[source]¶ Return the random variable from
op(*args, **kwargs)
, but also install special attributes (.rng
andupdate
, seeRandomVariable
) into it.This function also adds the returned variable to an internal list so that it can be seeded later by a call to
seed
.

uniform, normal, binomial, multinomial, random_integers, ...
See
basic.RandomVariable
.
