Checkpointed#
- class penzai.toolshed.gradient_checkpointing.Checkpointed[source]#
Bases:
LayerWraps a layer to run with gradient checkpointing.
The Checkpointed wrapper has the same behavior as the layer it wraps, but modifies
__call__so that gradient checkpointing is enabled.Since Checkpointed is an ordinary Layer, you can still inspect the contained layer and make modifications to it.
- Variables:
body (pz.nn.Layer) – The layer that should run with gradient checkpointing.
policy (Callable[..., bool] | None) – Optional checkpointing policy. (See docs for
jax.checkpointfor details.)
Methods
__init__(body[, policy])__call__(argument, /, **side_inputs)Attributes
policybodyInherited Methods
(expand to view inherited methods)
attributes_dict()Constructs a dictionary with all of the fields in the class.
bind_variables(variables[, allow_unused])Convenience function to bind variables to a layer.
from_attributes(**field_values)Directly instantiates a struct given all of its fields.
key_for_field(field_name)Generates a JAX PyTree key for a given field name.
select()Wraps this struct in a selection, enabling functional-style mutations.
stateless_call(variable_values, argument, /, ...)Calls a layer with temporary variables, without modifying its state.
tree_flatten()Flattens this tree node.
tree_flatten_with_keys()Flattens this tree node with keys.
tree_unflatten(aux_data, children)Unflattens this tree node.
treescope_color()Computes a CSS color to display for this object in treescope.