Функция clamp
Функция clamp ограничивает все элементы тензора
заданным диапазоном: значения меньше минимальной границы
становятся равными ей, а значения больше максимальной границы
- равными ей. Первым параметром функция принимает тензор,
вторым - минимальное значение, третьим - максимальное.
Также функцию можно вызывать как метод тензора.
Синтаксис
torch.clamp(input, min, max)
Либо как метод тензора:
tensor.clamp(min, max)
Пример
Давайте ограничим значения тензора диапазоном от 2 до 4:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.clamp(t, min=2, max=4)
print(res)
Результат выполнения кода:
tensor([2, 2, 3, 4, 4])
Пример
Теперь воспользуемся методом тензора clamp:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = t.clamp(min=2, max=4)
print(res)
Результат выполнения кода:
tensor([2, 2, 3, 4, 4])
Пример
Ограничим значения только снизу с помощью параметра min:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.clamp(t, min=3)
print(res)
Результат выполнения кода:
tensor([3, 3, 3, 4, 5])
Пример
Ограничим значения только сверху с помощью параметра max:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.clamp(t, max=3)
print(res)
Результат выполнения кода:
tensor([1, 2, 3, 3, 3])
Пример
Применим clamp к двумерному тензору:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = t.clamp(min=2, max=4)
print(res)
Результат выполнения кода:
tensor([
[2, 2, 3],
[4, 4, 4],
])