ConstrainShardingByName#
- class penzai.toolshed.sharding_util.ConstrainShardingByName[source]#
Bases:
Layer
A layer that constrains the sharding of a tree of NamedArrays by name.
Note: Defined using the experimental v2 API, but compatible with both v1 and v2 APIs (due to not having any parameters or state variables).
- Variables:
mesh (jax.sharding.Mesh) – The
Mesh
to shard the tree to.axis_name_to_mesh_name (dict[str, str | tuple[str, ...]] | None) – A mapping from array axis names to mesh axis names. If an axis name is not present, that axis will not be sharded. If a mesh axis name is a tuple, the corresponding axis will be sharded to multiple mesh axes. If this dictionary is not provided, it will be inferred as an “identity” mapping, where each axis is sharded to a mesh axis with the same name (if present).
Methods
__init__
(mesh[, axis_name_to_mesh_name])__call__
(tree, **_unused_side_inputs)Attributes
axis_name_to_mesh_name
mesh
Inherited 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.