xma.functional.sequence_packing

pack_sequence(inputs: Sequence[Tensor], cu_seqlens: Tensor, total_tokens: int, padding_side: str = 'left', *, kernel_backend: KernelBackend | None = None) Sequence[Tensor][source]

pack tensors

Parameters:
  • inputs (Sequence[torch.Tensor]) – list of tensors

  • cu_seqlens (torch.Tensor) – cumulative sequence length

  • total_tokens (int) – total number of tokens

  • padding_side (str) – padding side

  • kernel_backend (KernelBackend | None) – KernelBackend

Returns:

list of packed tensors

Return type:

Sequence[Tensor]

unpack_sequence(inputs: Sequence[Tensor], cu_seqlens: Tensor, batch_size: int, sequence_length: int, padding_side: str = 'left', *, kernel_backend: KernelBackend | None = None) Sequence[Tensor][source]

unpack tensors

Parameters:
  • inputs (Sequence[torch.Tensor]) – list of tensors

  • cu_seqlens (torch.Tensor) – cumulative sequence length

  • batch_size (int) – batch size

  • sequence_length (int) – sequence length

  • padding_side (str) – padding side

  • kernel_backend (KernelBackend | None) – KernelBackend

Returns:

list of unpacked tensors

Return type:

Sequence[Tensor]