如何提取两个张量之间的非等效条目的索引?

How do I extract indices of non-equivalent entries between two tensors?

我有一个带有 N 个对象的 N 个预测的张量'类,我有另一个带有真实 N 个目标对象的张量'类。我想取出我的分类器预测错误的张量指数。

考虑以下定义为的两个张量:

import torch
predictions = torch.tensor([ [0], [1], [1], [0], [0], [1] ])
target      = torch.tensor([ [0], [0], [1], [1], [0], [1] ])

我想找到一些可以传递这两个向量并返回类似 index_diff = [1, 3] 的列表的函数。这个功能存在吗?我目前的想法是将这两个向量都转换为 numpy 数组,然后循环 N 次并比较每个索引处的每个条目,但这对我来说似乎有点迂回。有其他选择吗?

类似

index_diff = (predictions.flatten() != target.flatten()).nonzero().flatten()

应该可以。