Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion torchrec/sparse/jagged_tensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -786,7 +786,7 @@ def _maybe_compute_length_per_key(
values: Optional[torch.Tensor],
) -> List[int]:
if length_per_key is None:
if values is not None and values.is_meta:
if len(keys) and values is not None and values.is_meta:
# create dummy lengths per key when on meta device
total_length = values.numel()
_length = [total_length // len(keys)] * len(keys)
Expand Down
7 changes: 7 additions & 0 deletions torchrec/sparse/tests/test_jagged_tensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -1836,6 +1836,13 @@ def test_meta_device_compatibility(self) -> None:
keys=keys, values=values, weights=weights, offsets=offsets
)

# test empty keys case
kjt = KeyedJaggedTensor.from_lengths_sync(
keys=[],
values=torch.tensor([], device=torch.device("meta")),
lengths=torch.tensor([], device=torch.device("meta")),
)


class TestKeyedJaggedTensorScripting(unittest.TestCase):
def test_scriptable_forward(self) -> None:
Expand Down