MCPcopy Create free account
hub / github.com/pytorch/executorch / _restore_named_data

Function _restore_named_data

exir/_serialize/_program.py:652–676  ·  view source on GitHub ↗

Moves named data from `segments` and `program` into the NamedDataStoreOutput class. Args: program: The Program holding named data references. Not modified. segments: The data containing the segments. Not modified.

(
    program: Program,
    segments: List[bytes],
)

Source from the content-addressed store, hash-verified

650
651
652def _restore_named_data(
653 program: Program,
654 segments: List[bytes],
655) -> NamedDataStoreOutput:
656 """Moves named data from `segments` and `program` into the
657 NamedDataStoreOutput class.
658
659 Args:
660 program: The Program holding named data references. Not modified.
661 segments: The data containing the segments. Not modified.
662 """
663 named_data_store = NamedDataStore()
664 for entry in program.named_data:
665 if entry.segment_index >= len(segments):
666 raise ValueError(
667 "Named data segment index "
668 f"{entry.segment_index} >= num segments {len(segments)}"
669 )
670 named_data_store.add_named_data(
671 key=entry.key,
672 data=segments[entry.segment_index],
673 alignment=1, # Deserialization does not preserve alignment.
674 tensor_layout=None, # PTE file currently does not serialize this.
675 )
676 return named_data_store.get_named_data_store_output()
677
678
679def _restore_segments(program: Program, segment_data: bytes) -> PTEFile:

Callers 1

_restore_segmentsFunction · 0.85

Calls 3

add_named_dataMethod · 0.95
NamedDataStoreClass · 0.90

Tested by

no test coverage detected