如何计算每一类的熵来测量pytorch上的模型不确定性
我试图计算熵来衡量模型的不确定性,在pytorch上使用MC Dropout进行图像分类任务,我使用样本平均输出_平均值计算每个样本的熵 如下面的代码所示如何计算每一类的熵来测量pytorch上的模型不确定性,pytorch,classification,entropy,uncertainty,Pytorch,Classification,Entropy,Uncertainty,我试图计算熵来衡量模型的不确定性,在pytorch上使用MC Dropout进行图像分类任务,我使用样本平均输出_平均值计算每个样本的熵 如下面的代码所示 for images,labels in testloader: images = images.to(device) labels = labels.to(device) with torch.no_grad(): output_list
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)
在计算每个样本的熵之后,我试图计算每个类的熵,以获得每个类的模型不确定性。
谁能帮我找到计算熵的正确公式