pytorch多标签

有没有多标签分类的的完整的例子?谢谢
 
已邀请:

golemz

赞同来自: ptorch 刘小生

饶了弯路,其实在最后一步接多个softmax分类器就行了,多个分类器的los累加即可...

golemz

赞同来自: ptorch

API里的torch.nn.MultiLableMarginLoss只能解决多标签的二元分类,不支持多标签的多元分类问题,
折腾了好久,最后用encoder-decoder解决了。

刘小生 - 90后

赞同来自:

你好,请问一下最后一步怎么接多个softmax,能发一个代码吗,谢谢

biubiubiu - pytorch萌新

赞同来自:

你好,请问一下最后一步怎么接多个softmax,能发一个代码吗,谢谢

golemz

赞同来自:

假设有4个标签,模型里面__init__最后两步:
        self.out = nn.ModuleList()
        for di in range(4):
            self.out.append(nn.Linear(HIDDEN_SIZE, LABEL_SIZE))
        self.softmax = nn.LogSoftmax(dim=1)
 
forward最后两步:
        out = [self.softmax(t(x)) for t in self.out]
        return out
 
训练的时候:
        loss = 0
        out = self.model(data)
        for di in range(4):
            loss += self.criterion(out[di], target[:,di])
 
 
 
 

要回复问题请先登录注册