【发布时间】:2021-07-31 13:11:06
【问题描述】:
我有两个形状为(batch_size, width, heigh) 的二进制掩码,我想创建一个二进制掩码来指示两者之间元素的联合。
要找到交集,我可以使用torch.where(A == B, 1, 0),但是如何找到并集呢?
【问题讨论】:
-
你的交点不正确。
标签: pytorch
我有两个形状为(batch_size, width, heigh) 的二进制掩码,我想创建一个二进制掩码来指示两者之间元素的联合。
要找到交集,我可以使用torch.where(A == B, 1, 0),但是如何找到并集呢?
【问题讨论】:
标签: pytorch
使用二进制掩码时,应使用逻辑运算,例如:logical_or()、logical_and()。
那么交集就是二进制掩码:
intersection = A.logical_and(B)
联合是:
union = A.logical_or(B)
顺便说一句,
我将把它留给您作为练习,以检查您计算的交集 (A == B) 不正确的原因。
【讨论】:
A==B 中也包含零,对吗?
A==B 是 intersect(A, B) 和 intersect(~A, ~B) 的并集