问题描述
我正在尝试使用MC Dropout为pytorch上的图像分类任务计算熵以测量模型的不确定性,我已经使用样本均值output_mean计算了每个样本的熵 如下面的代码所示
for images,labels in testloader:
images = images.to(device)
labels = labels.to(device)
with torch.no_grad():
output_list = []
for i in range(T):
output_list.append(torch.unsqueeze(model(images),0))
#calculating samples mean
output_mean = torch.cat(output_list,0).mean(0) #shape (n_samples,n_classes)
output_mean = np.asarray(output_mean.cpu())
epsilon = sys.float_info.min
# Calculating entropy across multiple MCD forward passes
entropy = -np.sum(output_mean*np.log(output_mean + epsilon),axis=-1) #shape (n_samples,n_classes)
在计算每个样本的熵之后,我尝试为每个类计算熵,以获取关于每个样本的模型不确定性。 谁能帮助我获得正确的公式来计算熵。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)