Numpy技巧: 由label获得相等矩阵
Numpy技巧: 由label获得相等矩阵
假设Label为: [ABAC] , 如何方便的得到一个矩阵, 其元素i,j表示第i位和第j位相等呢?
先把Label复制扩展成: m,m 的矩阵: l.expand(m,m)
ABAC
ABAC
ABAC
ABAC
这个矩阵M1只和col有关 [x,j] 为 第j个 标签
再转置一下: l.expand(m,m).t()
AAAA
BBBB
AAAA
CCCC
这个矩阵M2只和row有关 [i,x] 为第i个 标签
M2==M1 其中为1的地方就是 [i,j] 这两个标签相等
写在一起就是: l.expand(m,m).t().eq(l.expand(m,m)).int()
当然还有另一种写法: l.unsqueeze(1)==l.unsqueeze(0)
人工智障与神经病网络
https://www.cnblogs.com/JiangOil/