Pytorch中的位运算

Pytorch中的位运算,pytorch,Pytorch,有人能帮我在Pytorch 1.4中如何对两个张量执行按位和操作吗 显然,我只能在官方数据库中找到而不是和XOR操作 检查此项。Torch中的张量没有按位和/或运算。Torch中实现了元素操作,但没有咬入操作 但是,如果可以将每个位转换为单独的张量维度,则可以使用元素操作 比如, a = torch.Tensor{0,1,1,0} b = torch.Tensor{0,1,0,1} torch.cmul(a,b):eq(1) 0 1 0 0 [torch.ByteTensor of size

有人能帮我在Pytorch 1.4中如何对两个张量执行按位
操作吗

显然,我只能在官方数据库中找到
而不是
XOR
操作


检查此项。Torch中的张量没有按位和/或运算。Torch中实现了元素操作,但没有咬入操作

但是,如果可以将每个位转换为单独的张量维度,则可以使用元素操作

比如,

a = torch.Tensor{0,1,1,0}
b = torch.Tensor{0,1,0,1}

torch.cmul(a,b):eq(1)
0
1
0
0
[torch.ByteTensor of size 4]

torch.add(a,b):ge(1)
0
1
1
1
[torch.ByteTensor of size 4]

希望这会对您有所帮助。

我在文档中没有看到它们,但看起来
&
\uuuu和uuu
\uuuu或uuuu
\uuuuuuuuuuuuuxor
等都是按位的:

>>> torch.tensor([1, 2, 3, 4]).__xor__(torch.tensor([1, 1, 1, 1]))
tensor([0, 3, 2, 5])
>>> torch.tensor([1, 2, 3, 4]) | torch.tensor([1, 1, 1, 1])
tensor([1, 3, 3, 5])
>>> torch.tensor([1, 2, 3, 4]) & torch.tensor([1, 1, 1, 1])
tensor([1, 0, 1, 0])
>>> torch.tensor([1, 2, 3, 4]).__and__(torch.tensor([1, 1, 1, 1]))
tensor([1, 0, 1, 0])