torch.heaviside(input, values, * , out=None) → Tensor
此方法存在于pytorch1.7.0,1.7.0以下的pytorch中没有此方法。
其功能为对输入中的每个元素计算Heaviside阶跃函数。 Heaviside阶跃函数(也就是单位阶跃函数)定义为:
各个参数介绍:
input
:输入tensor。values
:输入为0时要使用的值(大小需要和input相等或者为1位)out
:输出的tensor。
使用方法如下:
>>> input = torch.tensor([-1.5, 0, 2.0])
>>> values = torch.tensor([0.5])
>>> torch.heaviside(input, values)
tensor([0.0000, 0.5000, 1.0000])
>>> values = torch.tensor([1.2, -2.0, 3.5])
>>> torch.heaviside(input, values)
tensor([0., -2., 1.])
- 在values长度为1时,input中所有为0的值通过阶跃函数后都是values。
- 如果values长度和input一样,那么input中第i个数为0,那么它的取值为values中第i个数,如果输入为:
import torch
a = torch.tensor([0., 0, 3.0])
values = torch.tensor([0.5, 0.2, 0.4])
print(torch.heaviside(a, values))
结果为: