Types
Enhanced type safety with proper protocols and enums.
-
class nabla.utils.types.ExecutionMode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases: Enum
Execution modes for the framework.
-
EAGER = 'eager'
-
LAZY = 'lazy'
-
class nabla.utils.types.OperationType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases: Enum
Types of operations.
-
UNARY = 'unary'
-
BINARY = 'binary'
-
REDUCTION = 'reduction'
-
VIEW = 'view'
-
CREATION = 'creation'
-
class nabla.utils.types.Differentiable(*args, **kwargs)[source]
Bases: Protocol
Protocol for differentiable operations.
-
vjp_rule(primals, cotangent, output)[source]
-
jvp_rule(primals, tangents, output)[source]
-
__init__(*args, **kwargs)