我想进行二进制分类,所以我使用了Pytorch的{{3}}。
这是我的预测代码:
densenet = torch.load(model_path)
densenet.eval()
output = densenet(input)
print(output)
这是输出:
Variable containing:
54.4869 -54.3721
[torch.cuda.FloatTensor of size 1x2 (GPU 0)]
我想获得每个班级的概率。我该怎么办?
我注意到torch.nn.Softmax()
可以用于很多类别,如DenseNet所述。
答案 0 :(得分:0)
import torch.nn as nn
向分类器层添加一个softmax层: 即典型:
num_ftrs = model_ft.classifier.in_features
model_ft.classifier = nn.Linear(num_ftrs, num_classes)
updated:
model_ft.classifier = nn.Sequential(nn.Linear(num_ftrs, num_classes),
nn.Softmax(dim=1))