Как зафиксировать величину тензора PyTorch? - PullRequest
0 голосов
/ 16 июня 2020

Я знаю, что могу использовать torch.clamp для ограничения значений тензора в пределах некоторого минимума / максимума, но как я могу это сделать, если я хочу ограничить по величине (абсолютному значению)? Пример:

import torch
t = torch.tensor([-5.0, -250, -1, 0.003, 7, 1238])
min_mag = 1 / 10
max_mag = 100
# desired output:
tensor([  -5.0000, -100.0000,   -1.0000,    0.1000,    7.0000,  100.0000])

1 Ответ

0 голосов
/ 16 июня 2020

Вот один из методов:

sign = t.sign()
t = t.abs_().clamp_(min_mag, max_mag)
t *= sign

(примечание: здесь используются операции на месте)

...