for epoch in range(100): train_loss, train_acc = train(model, train_loader, criterion, optimizer) test_loss, test_acc = test(model, test_loader, criterion) print('Epoch: {} Train Loss: {:.4f} Train Acc: {:.4f} Test Loss: {:.4f} Test Acc: {:.4f}'.format( epoch, train_loss, train_acc, test_loss, test_acc)) 将损失函数可视化
时间: 2024-01-25 10:05:06 浏览: 263
Keras之fit_generator与train_on_batch用法
要将损失函数可视化,可以使用 Matplotlib 库。在上面提供的训练代码中,每一轮 epoch 结束后记录了训练集和测试集的 loss 值。我们可以将这些值存储在一个数组中,然后使用 Matplotlib 将其可视化。
以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
train_losses = []
test_losses = []
for epoch in range(100):
train_loss, train_acc = train(model, train_loader, criterion, optimizer)
test_loss, test_acc = test(model, test_loader, criterion)
train_losses.append(train_loss)
test_losses.append(test_loss)
print('Epoch: {} Train Loss: {:.4f} Train Acc: {:.4f} Test Loss: {:.4f} Test Acc: {:.4f}'.format(
epoch, train_loss, train_acc, test_loss, test_acc))
plt.plot(train_losses, label='Training loss')
plt.plot(test_losses, label='Validation loss')
plt.legend(frameon=False)
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.show()
```
这段代码将训练集和测试集的 loss 值分别存储在 `train_losses` 和 `test_losses` 数组中。然后使用 `plt.plot()` 函数将其可视化。最后使用 `plt.xlabel()` 和 `plt.ylabel()` 函数添加轴标签,并使用 `plt.legend()` 函数添加图例。
阅读全文