lxztju / pytorch_classification

利用pytorch实现图像分类的一个完整的代码,训练,预测,TTA,模型融合,模型部署,cnn提取特征,svm或者随机森林等进行分类,模型蒸馏,一个完整的代码
MIT License
1.38k stars 339 forks source link

预测得分为负数 #11

Open sky-fly97 opened 4 years ago

sky-fly97 commented 4 years ago

作者您好,我在使用您的代码训练自己的数据时,数据一共有6类,预测结果没有问题,准确率很高,但是其他的类得分为什么会出现负数呢? 并且不同的图像得分的大小程度也差很多,请问是什么原因呢

sky-fly97 commented 4 years ago

image image image

sky-fly97 commented 4 years ago

这个是我的推理代码 `img = cv2.imread(img_dir + img_name)

img_input = img[..., ::-1] # BGR to RGB

img_input = (np.float32(img)/255.0-[0.485, 0.456, 0.406]) / [0.229, 0.224, 0.225] img_input = img_input.transpose((2, 0, 1)) img_input = torch.from_numpy(img_input).unsqueeze(0) img_input = img_input.type(torch.FloatTensor) print(img_input.shape) pred = model(img_input.cuda()) pred_score = torch.max(pred, 1)[0] pred_index = torch.max(pred, 1)[1]`

lxztju commented 4 years ago

最后一层直接取出的结果没有经过softmax,可以用一个softmax得到归一化的概率值

xsbrsg commented 3 years ago

请问您测试同一张图片得出的pre值是一样的吗。我用训练的模型测试同一张图片,每次输出的pre值都有差异,想问一下您有没有出现这种情况,可能是什么原因导致的