I’ve found this mcdropout_test() function :

def mcdropout_test(model):
    model.train()
    test_loss = 0
    correct = 0
    T = 100
    for data, labels in test_loader:
        if args.cuda:
            data, labels = data.cuda(), labels.cuda()
        data, labels = Variable(data, volatile=True), Variable(labels)
        output_list = []
        for i in xrange(T):
            output_list.append(torch.unsqueeze(model(data), 0))
        output_mean = torch.cat(output_list, 0).mean(0)
        test_loss += F.nll_loss(F.log_softmax(output_mean),  labels, size_average=False).data[0]  # sum up batch loss
        pred = output_mean.data.max(1, keepdim=True)[1]  # get the index of the max log-probability
        correct += pred.eq(labels.data.view_as(pred)).cpu().sum()

    test_loss /= len(test_loader.dataset)
    print('\nMC Dropout Test set: Average loss: {:.4f}, Accuracy: {}/{} ({:.2f}%)\n'.format(
    test_loss, correct, len(test_loader.dataset),
    100. * correct / len(test_loader.dataset)))


I did some changes on the mcdropout_test()  to have the mcdropout() and i’m not completely sure if these two have the same function

def mcdropout():
    model.train()
    test_loss = 0
    correct = 0
    T = 100

    with torch.no_grad():
        for images,labels in testloader:
            images = images.to(device)
            labels = labels.to(device)
            output_list = []
        
            for i in range(T):
                output_list.append(torch.unsqueeze(model(images), 0))
            output_mean = torch.cat(output_list, 0).mean(0)         
            test_loss += F.nll_loss(F.log_softmax(output_mean,dim=1), labels, reduction='sum').data  # sum up batch loss       
            _, predicted  = torch.max(output_mean, 1) # get the index of the max log-probability
            correct += (predicted == labels).sum().item()

        test_loss /= len(testloader.dataset)
        print('\nMC Dropout Test set: Average loss: {:.4f}, Accuracy: {}/{} ({:.2f}%)\n'.format(
        test_loss, correct, len(testloader.dataset),
        100. * correct / len(testloader.dataset)))