Skip to content

Filters

parax.is_constant(x)

Returns True if x is an instance of parax.AbstractConstant.

Useful as is_leaf when partitioning a model to freeze standard parameters.

Source code in parax/filters.py
27
28
29
30
31
32
33
def is_constant(x: Any) -> TypeGuard[AbstractConstant]:
    """
    Returns True if `x` is an instance of `parax.AbstractConstant`.

    Useful as `is_leaf` when partitioning a model to freeze standard parameters.
    """
    return isinstance(x, AbstractConstant)

parax.is_annotated(x)

Returns True if x is an instance of parax.AbstractAnnotated (i.e. has metadata).

Source code in parax/filters.py
36
37
38
39
40
41
def is_annotated(x: Any) -> TypeGuard[AbstractAnnotated]:
    """
    Returns True if `x` is an instance of `parax.AbstractAnnotated`
    (i.e. has metadata).
    """
    return isinstance(x, AbstractAnnotated)

parax.is_variable(x)

Returns True if x is an instance of parax.AbstractVariable.

Source code in parax/filters.py
44
45
46
47
48
def is_variable(x: Any) -> TypeGuard[AbstractVariable]:
    """
    Returns True if `x` is an instance of `parax.AbstractVariable`.
    """
    return isinstance(x, AbstractVariable)

parax.is_param(x)

Returns True if x is an instance of parax.AbstractVariable or returns True for eqx.is_inexact_array.

Source code in parax/filters.py
51
52
53
54
55
56
def is_param(x: Any) -> bool:
    """
    Returns True if `x` is an instance of `parax.AbstractVariable`
    or returns True for `eqx.is_inexact_array`.
    """
    return isinstance(x, AbstractVariable) or eqx.is_inexact_array(x)

parax.is_unwrappable(x)

Returns True if x is an instance of parax.AbstractUnwrappable.

Source code in parax/filters.py
73
74
75
76
77
def is_unwrappable(x: Any) -> TypeGuard[AbstractUnwrappable]:
    """
    Returns True if `x` is an instance of `parax.AbstractUnwrappable`.
    """
    return isinstance(x, AbstractUnwrappable)

parax.is_bounded(x)

Returns True if x is an instance of parax.AbstractBounded.

Source code in parax/filters.py
59
60
61
62
63
def is_bounded(x: Any) -> TypeGuard[AbstractBounded]:
    """
    Returns True if `x` is an instance of `parax.AbstractBounded`.
    """
    return isinstance(x, AbstractBounded)

parax.is_probabilistic(x)

Returns True if x is an instance of parax.AbstractProbabilistic.

Source code in parax/filters.py
66
67
68
69
70
def is_probabilistic(x: Any) -> TypeGuard[AbstractProbabilistic]:
    """
    Returns True if `x` is an instance of `parax.AbstractProbabilistic`.
    """
    return isinstance(x, AbstractProbabilistic)

parax.is_constraint(x)

Returns True if x is an instance of parax.AbstractConstraint.

Source code in parax/filters.py
80
81
82
83
84
def is_constraint(x: Any) -> TypeGuard[AbstractConstraint]:
    """
    Returns True if `x` is an instance of `parax.AbstractConstraint`.
    """
    return isinstance(x, AbstractConstraint)

parax.is_distribution(x)

Returns True if x is an instance of distreqx.AbstractDistribution.

Source code in parax/filters.py
94
95
96
97
98
def is_distribution(x: Any) -> TypeGuard[AbstractDistribution]:
    """
    Returns True if `x` is an instance of `distreqx.AbstractDistribution`.
    """
    return isinstance(x, AbstractDistribution)

parax.is_bijector(x)

Returns True if x is an instance of distreqx.AbstractBijector.

Source code in parax/filters.py
101
102
103
104
105
def is_bijector(x: Any) -> TypeGuard[AbstractBijector]:
    """
    Returns True if `x` is an instance of `distreqx.AbstractBijector`.
    """
    return isinstance(x, AbstractBijector)