用python生成一段在pytorch框架下利用保存的ckpt模型生成混淆矩阵并输出为csv文件的代码
下面是用Python生成在PyTorch框架下利用保存的ckpt模型生成混淆矩阵并输出为.csv文件的代码示例:
import torch
import numpy as np
import pandas as pd
from torchvision.datasets import CIFAR10
from torchvision.transforms import ToTensor
from torch.utils.data import DataLoader
from sklearn.metrics import confusion_matrix
# 加载模型
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = YourModel() # 替换为你的模型定义
model.load_state_dict(torch.load('your_model.ckpt')) # 替换为你的ckpt模型路径
model.to(device)
model.eval()
# 加载数据集
test_dataset = CIFAR10(root='./data', train=False, transform=ToTensor())
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)
# 运行模型并生成预测结果
all_preds = []
all_targets = []
with torch.no_grad():
for images, targets in test_loader:
images = images.to(device)
targets = targets.to(device)
preds = model(images)
preds = torch.argmax(preds, dim=1)
all_preds.extend(preds.cpu().numpy())
all_targets.extend(targets.cpu().numpy())
# 生成混淆矩阵
confusion = confusion_matrix(all_targets, all_preds)
# 保存混淆矩阵为.csv文件
df = pd.DataFrame(confusion)
df.to_csv('confusion_matrix.csv', index=False)
请替换代码中的以下部分:
YourModel():替换为你的模型定义。这里假设你已经定义了一个模型类,需要根据你的实际情况替换为你的模型类。'your_model.ckpt':替换为你保存的ckpt模型的路径。'./data':替换为你的数据集存储路径,或者设置为其他适合你的路径。'confusion_matrix.csv':替换为你想要保存的混淆矩阵的文件名和路径
原文地址: https://www.cveoy.top/t/topic/icvv 著作权归作者所有。请勿转载和采集!