Python 计算精度和召回率问题

Python 计算精度和召回率问题,python,keras,conv-neural-network,Python,Keras,Conv Neural Network,我无法正确计算以下代码中的精度和召回率: 你能帮我修一下配方吗。以下是代码段: for epoch in range(2): running_loss = 0.0 training_accuracy = 0.0 training_total = 0.0 training_correct = 0.0 ########## training_precision = 0.0 training_recall = 0.0 for

我无法正确计算以下代码中的精度和召回率:

你能帮我修一下配方吗。以下是代码段:

for epoch in range(2):  
    running_loss = 0.0
    training_accuracy = 0.0
    training_total = 0.0
    training_correct = 0.0
    ##########
    training_precision = 0.0
    training_recall = 0.0
    
    for i, data in enumerate(t_loader, 0):
      
        inputs, labels = data        
        optimizer.zero_grad()

        inputs = inputs.view(bs,1,28,28).float()
        outputs = cnn(inputs)
    
        _, predicted = torch.max(outputs.data, 1) 
        training_total = training_total + labels.size(0)
        training_correct = training_correct + (predicted == labels).sum().item() #accumulate correct
        ##########

        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

        running_loss += loss.item()
        if i % 200 == 199:    
            training_accuracy=training_correct/training_total
            training_accuracy_list.append(training_accuracy)
            ##########
            training_precision = training_correct / (training_correct + labels.size(0))/220 
            training_recall = training_correct / (training_correct + (predicted != labels).sum().item() )/200
            

您计算精度和召回率的方法是错误的,您不应该首先添加所有的真阳性,检查您使用的是
pytorch
而不是
keras
,因此将标签更改为
torch
pytorch
,如果你真的想让别人来解决你的问题,那么我建议你发布一些每个人都可以运行的测试代码,否则就没有办法为你调试了。我明白了,谢谢你,非常有帮助,谢谢