ibl_bwb_eval.entity_ids#

The ids a submission is aligned by, and how they reach a .safetensors file.

Ids travel as a uint8 matrix, one row per id, because safetensors holds tensors and not strings. The row width is the tensor’s own second dimension, so a file describes itself and ids of any length round-trip: what a suite means by an entity (a unit today, a channel later) never reaches this module. Shorter ids are padded with NUL, which ASCII ids cannot contain, so a fixed-width batch pads to nothing and the padding is unambiguous.

Submission format#

encode_entity_ids

Pack string ids into an (n, width) uint8 tensor, width being the longest id.

decode_entity_ids

Unpack what encode_entity_ids() wrote, dropping the padding.