2015-10-07 16 views
8

Tôi cần lệnh Torch để kiểm tra xem hai tensors có cùng nội dung và trả về TRUE nếu chúng có cùng nội dung.Làm thế nào để kiểm tra xem hai đèn LED hoặc ma trận có bằng nhau không?

Ví dụ:

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 

Tôi nên sử dụng trong kịch bản này thay vì EQUIVALENCE_COMMAND?

Tôi đã thử đơn giản với == nhưng nó không hoạt động.

Trả lời

10

https://github.com/torch/torch7/blob/master/doc/maths.md#torcheqa-b

torch.eq(a, b) 

Dụng == nhà điều hành so sánh từng phần tử trong một với b (nếu b là một số) hoặc từng phần tử trong một với thành phần tương ứng trong b.

--UPDATE

từ @deltheil

torch.all(torch.eq(tens_a, tens_b)) 

hoặc thậm chí đơn giản hơn

torch.all(tens_a:eq(tens_b)) 
+5

Để có được một trận chung kết nạc bạn cũng cần phải bọc với ['torch.all'] (https://github.com/torch/torch7/blob/28de02639e8e970532f2635d47ba3eabdf50e04f/doc/maths.md#torchalla), tức là' torch.all (torch.eq (tens_a, tens_b)) 'hoặc thậm chí đơn giản hơn' torch.all (tens_a: eq (tens_b)) '. – deltheil

+0

Cảm ơn bạn @deltheil bạn đã đúng. Nếu bạn viết lại nhận xét này làm câu trả lời, tôi chấp nhận câu trả lời cuối cùng là –

+3

@YuTse Tôi cho phép bạn cập nhật câu trả lời của mình bằng 'torch.all'. – deltheil

1

Hãy thử điều này nếu bạn muốn bỏ qua những khác biệt chính xác nhỏ được phổ biến cho nổi

torch.all(torch.lt(torch.abs(torch.add(tens_a, -tens_b)), 1e-12)) 
Các vấn đề liên quan