torch.nonzero_static
-
torch.nonzero_static(input, *, size, fill_value=-1) → Tensor -
Возвращает двумерный тензор, каждая строка которого содержит индекс ненулевого значения. Возвращаемый тензор имеет такой же
torch.dtype, какtorch.nonzero().- Параметры:
-
input (Tensor) – входной тензор.
- Именованные аргументы:
-
-
size (int) – ожидаемое количество ненулевых элементов, включаемых в выходной тензор. Заполните выходной тензор значением
fill_value, еслиsizeбольше общего количества ненулевых элементов; усеките выходной тензор, еслиsizeменьше. Размер должен быть неотрицательным целым числом. -
fill_value (int, необязательный) – значение для заполнения выходного тензора, если
sizeбольше общего количества ненулевых элементов. По умолчанию используется-1для обозначения недопустимого индекса.
-
size (int) – ожидаемое количество ненулевых элементов, включаемых в выходной тензор. Заполните выходной тензор значением
Пример:
# Example 1: Padding >>> input_tensor = torch.tensor([[1, 0], [3, 2]]) >>> static_size = 4 >>> t = torch.nonzero_static(input_tensor, size=static_size) tensor([[ 0, 0], [ 1, 0], [ 1, 1], [ -1, -1]], dtype=torch.int64) # Example 2: Truncating >>> input_tensor = torch.tensor([[1, 0], [3, 2]]) >>> static_size = 2 >>> t = torch.nonzero_static(input_tensor, size=static_size) tensor([[ 0, 0], [ 1, 0]], dtype=torch.int64) # Example 3: 0 size >>> input_tensor = torch.tensor([10]) >>> static_size = 0 >>> t = torch.nonzero_static(input_tensor, size=static_size) tensor([], size=(0, 1), dtype=torch.int64) # Example 4: 0 rank input >>> input_tensor = torch.tensor(10) >>> static_size = 2 >>> t = torch.nonzero_static(input_tensor, size=static_size) tensor([], size=(2, 0), dtype=torch.int64)
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nonzero_static.html