Lua 2张量的按位或

Lua 2张量的按位或,lua,torch,Lua,Torch,如何对torch中的两个张量执行按位和/或运算 假设我有两个BYTENTensor a和b,我想计算它们之间的逻辑and/or。是否可以使用函数执行此操作?Torch中的张量没有按位和/或运算。但是,如果可以将每个位转换为单独的张量维度(例如,在数据准备步骤中,或使用bitop),则可以使用as元素或操作 更新:使用torch.cmul和torch.add作为DNS更有意义 Torch中的张量没有按位和/或运算。但是,如果可以将每个位转换为单独的张量维度(例如,在数据准备步骤中,或使用bitop

如何对torch中的两个张量执行按位和/或运算


假设我有两个BYTENTensor a和b,我想计算它们之间的逻辑and/or。是否可以使用函数执行此操作?

Torch中的张量没有按位和/或运算。但是,如果可以将每个位转换为单独的张量维度(例如,在数据准备步骤中,或使用bitop),则可以使用as元素或操作

更新:使用torch.cmul和torch.add作为DNS更有意义


Torch中的张量没有按位和/或运算。但是,如果可以将每个位转换为单独的张量维度(例如,在数据准备步骤中,或使用bitop),则可以使用as元素或操作

更新:使用torch.cmul和torch.add作为DNS更有意义


不确定这是否是您想要的,但可能会有所帮助

x = torch.ByteTensor{1,1,0,0,0,0,1}
y = torch.ByteTensor{0,1,0,1,0,1,1}


不确定这是否是您想要的,但可能会有所帮助

x = torch.ByteTensor{1,1,0,0,0,0,1}
y = torch.ByteTensor{0,1,0,1,0,1,1}


Torch中实现了元素操作,但没有咬入操作。你可以在一个函数中使用一个循环来解决这个问题,这个循环通过进行运算的张量来完成。Torch中实现了元素操作,但没有按位操作。你可以在一个函数中使用一个通过张量进行运算的循环来解决这个问题。实际上,我也做了同样的事情!事实上,我最后也做了同样的事情!
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]