torchvision.metrics as metrics
时间: 2025-01-01 10:23:04 AIGC 浏览: 57 评论: 5
### 正确导入和使用 `torchvision.metrics` 进行模型评估
#### 导入库
要使用 `torchvision.metrics` 模块来进行模型评估,首先需要确保已经安装了最新的 torchvision 版本。可以通过 pip 来完成安装:
```bash
pip install --upgrade torchvision
```
接着,在 Python 脚本或 Jupyter Notebook 中引入必要的模块。
```python
import torch
from torchvision import models, transforms
from torchvision.datasets import CIFAR10
from torch.utils.data import DataLoader
from torchvision import metrics as tv_metrics # 导入metrics模块
```
#### 数据准备
为了展示如何应用这些度量标准,这里构建了一个简单的例子,其中包含了数据加载的过程。
```python
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
])
train_dataset = CIFAR10(root='./data', train=True, download=True, transform=transform)
test_dataset = CIFAR10(root='./data', train=False, download=True, transform=transform)
train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=64, shuffle=False)
```
#### 创建并训练简单模型
下面定义一个基础的卷积神经网络,并对其进行快速训练以便后续测试。
```python
model = models.resnet18(pretrained=True)
num_ftrs = model.fc.in_features
model.fc = torch.nn.Linear(num_ftrs, 10) # 修改最后一层适应CIFAR-10分类任务
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model.to(device)
criterion = torch.nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
for epoch in range(2): # 只做两个epoch简化演示过程
for inputs, labels in train_loader:
optimizer.zero_grad()
outputs = model(inputs.to(device))
loss = criterion(outputs, labels.to(device))
loss.backward()
optimizer.step()
```
#### 使用 `torchvision.metrics` 计算评价指标
现在可以利用 `torchvision.metrics` 提供的功能来计算一些常见的性能指标,比如准确率、混淆矩阵等。
```python
# 初始化metric对象
accuracy_metric = tv_metrics.Accuracy().to(device)
with torch.no_grad():
for images, targets in test_loader:
predictions = model(images.to(device)).argmax(dim=-1)
accuracy_metric.update(predictions, targets.to(device))
print(f'Test Accuracy: {accuracy_metric.compute()}')
```
上述代码展示了如何通过 `torchvision.metrics` 对象收集预测结果并与目标标签对比从而得到最终的准确性得分[^1]。
阅读全文
相关推荐



















评论

艾苛尔
2025.07.18
内容详实,步骤清晰,适合初学者上手。

半清斋
2025.07.03
简洁明了的导入和使用 torchvision.metrics 的指南。

我有多作怪
2025.06.03
详细讲解了数据加载和模型训练基础操作。🍜

郑华滨
2025.05.22
提供了实际例子,加深理解和应用。

林书尼
2025.05.21
代码示例完整,易于理解模型评估过程。