我需要一个Torch命令来检查两个张量是否具有相同的内容,如果它们具有相同的内容则返回TRUE。
例如:
local tens_a = torch.Tensor({9,8,7,6});
local tens_b = torch.Tensor({9,8,7,6});
if (tens_a EQUIVALENCE_COMMAND tens_b) then ... end
我应该在这个脚本中使用什么而不是EQUIVALENCE_COMMAND
?
我只是尝试使用==
,但它不起作用。
https://github.com/torch/torch7/blob/master/doc/maths.md#torcheqa-b
torch.eq(a, b)
实现==运算符比较a中的每个元素b(如果b是数字)或b中的每个元素与b中的对应元素。
--update
来自@deltheil
torch.all(torch.eq(tens_a, tens_b))
甚至更简单
torch.all(tens_a:eq(tens_b))
如果要忽略浮点数常见的小精度差异,请尝试此操作
torch.all(torch.lt(torch.abs(torch.add(tens_a, -tens_b)), 1e-12))