module 'torch.nn.functional' has no attribute 'accuracy'
时间: 2023-07-02 20:13:16 浏览: 256
PyTorch里面的torch.nn.Parameter()详解
3星 · 编辑精心推荐
这个错误通常是因为你正在使用PyTorch版本低于1.1的版本,而`accuracy`函数是在1.1版本中引入的。
如果你使用的是低于1.1版本的PyTorch,你可以使用以下代码来计算准确率:
```python
def accuracy(output, target, topk=(1,)):
"""Computes the accuracy over the k top predictions for the specified values of k"""
with torch.no_grad():
maxk = max(topk)
batch_size = target.size(0)
_, pred = output.topk(maxk, 1, True, True)
pred = pred.t()
correct = pred.eq(target.view(1, -1).expand_as(pred))
res = []
for k in topk:
correct_k = correct[:k].view(-1).float().sum(0, keepdim=True)
res.append(correct_k.mul_(100.0 / batch_size))
return res
```
这个函数实现了与`torch.nn.functional.accuracy`函数相同的功能,并且可以在低版本的PyTorch中使用。
阅读全文