微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

张量的输出激活函数,用于多标签分类

如何解决张量的输出激活函数,用于多标签分类

我期望的标签是像tensor([[0,1,1],[1,0]])这样的张量。

我模型的输出(请注意,我停止训练只是为了获取值,以便它们不能准确表示神经元的激活)也是一个tensor([[-10.6964,-13.8998,0.8348,-45.7040],[-10.3260,-13.8385,-9.2342,-5.3424]])

的张量。

我在输出标签上直接使用BCEWithLogitsLoss是错误的吗?在使用BCEWithLogitsLoss之前,是否需要将输出张量转换为类似于预期标签的二进制张量?我知道BCEWithLogitsLoss只是bceloss + Sigmoid激活。如何获得预期标签张量类型的值以及在这种情况下应使用什么损耗?

解决方法

对于多标签分类,BCELoss是常见选择。 BCEWithLogitsLoss直接在输出和标签上起作用,因为它期望将logit作为一个输入,并且将类(0或1)作为第二个输入。 您可以在此处找到有关此损失和预期标签张量的更多详细信息: BCEWithLogitsLoss

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。