pytorch 我想将我的VIT从单标签多类别分类更改为多标签,我应该如何重写评估和损失部分?

fslejnso  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(57)

新标签看起来像:[0,1,1,0,0,1,0].原来的损失函数:torch.nn.CrossEntropyLoss()计算段:pred = model(images.to(device)) loss = loss_function(pred, labels.to(device))(如何用torch.nn.BCEWithLogitsLoss代替?
我已经从GPT和谷歌得到了一些答案,但没有可执行的细节。

lzfw57am

lzfw57am1#

如果你已经有了这种格式的标签,你可以交换损失函数。

import torch
import torch.nn as nn

loss_fn = nn. BCEWithLogitsLoss()

logits = torch.randn(3)
labels = torch.tensor([1, 0, 1]).float()

loss = loss_fn(logits, labels)

字符串

相关问题