如何在PyTorch中判断张量元素是否不在指定列表中?
在PyTorch中实现逐元素判断是否不在指定列表的操作
你可以利用PyTorch原生的torch.isin()函数配合取反操作,实现类似你想要的逐元素判断效果:
import torch a = torch.tensor([1,2,3]) # 方法1:使用~进行逐元素取反 result = ~torch.isin(a, [2,3]) # 输出: tensor([ True, False, False]) # 方法2:使用torch.logical_not()进行逻辑取反 result = torch.logical_not(torch.isin(a, [2,3])) # 输出同样是: tensor([ True, False, False])
关键函数说明
torch.isin(input, other):生成一个和输入张量input形状一致的布尔张量,每个位置的值表示input对应元素是否存在于other(可以是列表、张量等集合类对象)中。- 取反操作:对于布尔张量,
~和torch.logical_not()都能实现逐元素的逻辑非,两者效果完全相同,可根据习惯选择。
内容的提问来源于stack exchange,提问作者dinaa123
相关产品推荐
相关产品推荐

