在PyTorch中,可以使用torch.utils.data.DataLoader
加載測試數據集,并調用模型的eval()
方法進入評估模式。然后使用測試數據集對模型進行推理,并計算模型的性能指標,如準確率、損失值等。
import torch
import torch.nn as nn
import torch.optim as optim
import torch.utils.data as data
# 加載測試數據集
test_dataset = MyDataset(data_path='test_data.pth')
test_loader = data.DataLoader(test_dataset, batch_size=64, shuffle=False)
# 加載模型
model = MyModel()
model.load_state_dict(torch.load('model.pth'))
model.eval()
criterion = nn.CrossEntropyLoss()
# 在測試數據集上進行推理
correct = 0
total = 0
total_loss = 0
with torch.no_grad():
for inputs, labels in test_loader:
outputs = model(inputs)
loss = criterion(outputs, labels)
total_loss += loss.item()
_, predicted = torch.max(outputs, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
accuracy = correct / total
average_loss = total_loss / len(test_loader)
print(f'Accuracy: {accuracy}, Average Loss: {average_loss}')
除了計算準確率和損失值之外,還可以使用torch.utils.tensorboard
等工具來進行模型性能分析,例如可視化訓練過程中的損失值和準確率的變化情況,以及模型的參數分布等。