我有一个多标签分类问题(一个样本可以同时分类为几个类)
我想使用torch.nn.MultiLabelSoftMarginLoss,但我对文档感到困惑,其中基本事实是这样写的:
Target: (N, C)(N,C) , label targets padded by -1 ensuring same shape as the input.
这是否意味着目标处于一个热态,但零替换为-1
假设我想为对象检测分类几个属性,例如:Man
,Tall
,Long hair
。
我的第一张照片是一个长头发的高个子女人,我的目标是0 1 1
还是-1 1 1
?我不明白为什么用-1
代替0
在互联网上很难找到这样的例子,因为很多人把多标签任务误认为是多类别分类,而一直使用BCELoss
仔细看看doc:
预期目标是
{0, 1}
,而不是-1。我不确定-1在做什么,它可能是“忽略”的意思,但你是对的,那里的文档不是很清楚
关于这一点,pytorch的github上有一个open issue。请随意贡献
相关问题 更多 >
编程相关推荐