Specification¶
- class samplomatic.tensor_interface.Specification[source]¶
Bases:
Generic[T]A specification of an expected value inside of an interface.
Attributes Summary
A description of this specification.
Named dimensions whose sizes are free until an interface value binds their value.
The name of this specification.
The number of bytes required to represent data for this specification.
Whether this is an optional specification.
Methods Summary
describe()Return a human-readable description of this specification.
validate_and_coerce(value)Coerce a value into a correct type if valid.
Attributes Documentation
- description¶
A description of this specification.
- free_dimensions¶
Named dimensions whose sizes are free until an interface value binds their value.
Within a
TensorInterface, all free dimensions of the same name must be consistently bound. This allows specification of dimensions of values that can be arbitrary, and that are only resolved once bound to an interface.
- name¶
The name of this specification.
- num_bytes¶
The number of bytes required to represent data for this specification.
Implementations of this attribute should not be overly concerned with accounting for memory required, say, for builtin Python container objects. They should be more interested in the large data limit where memory is dominated by sources like NumPy buffers.
If the specification has
free_dimensions, implementations should return the number of bytes per unit of each free dimension. For example, if the specification has a free dimension"n"and requires8 * nbytes, this property should return8.
- optional¶
Whether this is an optional specification.
Methods Documentation
- abstractmethod validate_and_coerce(value: Any) tuple[T, dict[str, int]][source]¶
Coerce a value into a correct type if valid.
- Parameters:
value – A value to validate and coerce with respect to this specification.
- Raises:
TypeError – If the value cannot be coerced into a valid type.
- Returns:
The coerced value, and a dictionary mapping each member of
free_dimensionsto a size implied by thevalue.