首页 > 解决方案 > 在 PyTorch 张量中的元素之间执行 Delta 函数

问题描述

我有一个一维 pyTorch 张量(dtype:int32),想知道是否有办法对这个张量中的元素执行 Dirac Delta 函数,即:

f = tensor[1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1]
f_after_dirac_delta = tensor[0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1]

提前感谢您的帮助!

编辑:正如@GirishDattatrayHegde 提到的,Dirac-Delta 一词具有误导性。正确的术语应该是 Kronecker-Delta。我很抱歉。

标签: pythonpython-3.xpytorch

解决方案


如果我理解正确,您想比较张量的连续元素。这应该工作:

import torch
f = torch.tensor([1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1])
f_dirac = (f[1:] == f[:-1]).to(torch.long)

推荐阅读