Testing Utiltites

xfail_if_not_implemented(msg='Not implemented', *, match=None)[source]
xfail_if_not_found(msg='Not implemented')[source]
requires_backend(*backends, reason=None)[source]
excludes_backend(*backends, reason=None)[source]
class ActualExpected(actual, expected)[source]

Bases: LazyComparison

Lazy string formatter for test assertions.

id_from_inputs(inputs)[source]
is_array(x)[source]
assert_close(actual, expected, atol=1e-06, rtol=1e-06)[source]
check_funsor(x, inputs, output, data=None)[source]

Check dims and shape modulo reordering.

xfail_param(*args, **kwargs)[source]
make_einsum_example(equation, fill=None, sizes=(2, 3))[source]
assert_equiv(x, y)[source]

Check that two funsors are equivalent up to permutation of inputs.

rand(*args)[source]
randint(low, high, size)[source]
randn(*args)[source]
random_scale_tril(*args)[source]
zeros(*args)[source]
ones(*args)[source]
empty(*args)[source]
random_tensor(inputs, output=Real)[source]

Creates a random funsor.tensor.Tensor with given inputs and output.

random_gaussian(inputs)[source]

Creates a random funsor.gaussian.Gaussian with given inputs.

random_mvn(batch_shape, dim, diag=False)[source]

Generate a random torch.distributions.MultivariateNormal with given shape.

make_plated_hmm_einsum(num_steps, num_obs_plates=1, num_hidden_plates=0)[source]
make_chain_einsum(num_steps)[source]
make_hmm_einsum(num_steps)[source]
iter_subsets(iterable, *, min_size=None, max_size=None)[source]
class DesugarGetitem[source]

Bases: object

Helper to desugar .__getitem__() syntax.

Example:

>>> desugar_getitem[1:3, ..., None]
(slice(1, 3), Ellipsis, None)