如何在割炬中对两个张量执行按位和/或操作?
让我们说我有两个ByteTensors a和b,我想计算逻辑和/或它们之间。是否可以使用函数来完成它?
答案 0 :(得分:2)
不确定这是否是您所寻求的但可能有所帮助。
z = torch.cmul(x,y) -- This gives and
th> z
0
1
0
0
0
0
1
[torch.ByteTensor of size 7]
和
z1 = torch.add(x,y)
z1[z1:gt(1)] = 1 -- removes double counting
th> z1
1
1
0
1
0
1
1
[torch.ByteTensor of size 7]
或者
document.getElementById('myform').addEventListener('submit', function(event) {
event.preventDefault();
this.submit();
setTimeout(function(){ grecaptcha.reset(myCaptcha); }, 0);
}
答案 1 :(得分:0)
Torch中的张量没有按位和/或操作。但是,如果您可以将每个位转换为单独的Tensor维度(例如,在数据准备步骤或使用bitop),则可以使用Torch.any(x)作为元素或操作。
更新:将torch.cmul和torch.add用作mattdns suggests
更有意义a = torch.Tensor{0,1,1,0}
b = torch.Tensor{0,1,0,1}
th> torch.cmul(a,b):eq(1)
0
1
0
0
[torch.ByteTensor of size 4]
th> torch.add(a,b):ge(1)
0
1
1
1
[torch.ByteTensor of size 4]