CNN模型测试结果 - 第68次训练模型
import torch from sklearn.metrics import accuracy_score, confusion_matrix import pandas as pd
加载模型
model = torch.load('./modelpth/68.pth')
加载测试数据集
test_dataset = MyDataset(args.root2, args.txtpath2, transform=None) test_loader = DataLoader(dataset=test_dataset, batch_size=args.batch_size, shuffle=True, num_workers=0)
定义损失函数
criterion = nn.CrossEntropyLoss()
进行测试
accuracy, loss, feature_list, C = test(model, test_loader, criterion)
计算F1-score
lie_he = sum(C, 1) - 1 f1_scores = [] for i in range(1, 7): precision = C[i - 1][i - 1] / lie_he[i - 1] NAR = (sum(C[i - 1]) - C[i - 1][i - 1]) / sum(C[i - 1]) f1_score = 2 * C[i - 1][i - 1] / (lie_he[i - 1] + sum(C[i - 1])) f1_scores.append(f1_score)
输出结果
result = pd.DataFrame({'Label': ['1', '2', '3', '4', '5', '6'], 'Accuracy': [accuracy], 'Loss': [loss], 'F1-score': f1_scores}) print(result)
原文地址: https://www.cveoy.top/t/topic/ftvX 著作权归作者所有。请勿转载和采集!