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
,如果你真的想让别人来解决你的问题,那么我建议你发布一些每个人都可以运行的测试代码,否则就没有办法为你调试了。我明白了,谢谢你,非常有帮助,谢谢