Je suis en train d'effectuer logiques opertaions élément par élément sur tenseurs, mais il semble « et » mot-clé exécute logique ou, alors que « ou » mot-clé effectue logique et :flamme élément par élément Opération logique et/ou
a = torch.zeros(3)
a[1] = 1 -- a will be [1,0,0]
b = torch.ones(3)
b[3] = 0 -- b will be [1,1,0]
c = torch.eq(a,1) and torch.eq(b,1)
d = torch.eq(a,1) or torch.eq(b,1)
Je me attendais c à devenir [1,0,0]
car il serait logique d'avoir 1 que dans des positions où les deux un et b sont égaux à 1. aussi je me attendais d devenir [1,1,0]
puisque ce sont les positions où soit un ou b sont égal à 1. À ma grande surprise, les résultats sont complètement le contraire! Des explications?
Attention: selon la réponse, cette méthode est absolument incorrecte pour les opérations logiques élémentaires sur les Tenseurs. – kerrigan