如何在训练后保存所有loss到一个列表
时间: 2024-05-01 17:22:18 浏览: 12
在训练过程中,可以使用一个列表来保存每个 epoch 的 loss 值。可以使用 PyTorch 提供的 `append()` 函数将每个 epoch 的 loss 值添加到列表中。以下是一个示例代码:
```python
import torch
from torch.utils.data import DataLoader
# 定义模型和优化器
model = YourModel()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
# 定义数据集和数据加载器
dataset = YourDataset()
dataloader = DataLoader(dataset, batch_size=32, shuffle=True)
# 定义损失函数
criterion = torch.nn.CrossEntropyLoss()
# 定义一个空列表来保存每个 epoch 的 loss 值
loss_list = []
# 训练循环
for epoch in range(num_epochs):
# 在每个 epoch 开始时,将 loss 值设置为 0
total_loss = 0.0
# 遍历数据集中的每个批次
for batch in dataloader:
# 将 batch 数据转移到 GPU 上(如果可用)
inputs = batch["input"].to(device)
labels = batch["label"].to(device)
# 前向传播
outputs = model(inputs)
# 计算损失
loss = criterion(outputs, labels)
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 将本批次的 loss 值添加到 total_loss 中
total_loss += loss.item()
# 计算每个 epoch 的平均 loss 值,并将其添加到 loss_list 中
epoch_loss = total_loss / len(dataloader)
loss_list.append(epoch_loss)
# 打印每个 epoch 的 loss 值
print("Epoch {}: Loss = {}".format(epoch + 1, epoch_loss))
# 训练完成后,loss_list 中保存了每个 epoch 的 loss 值
print("Training loss:", loss_list)
```
在训练完成后,`loss_list` 中保存了每个 epoch 的平均 loss 值。你可以使用这些值来可视化训练过程中的 loss 变化情况,或者进行其他后续分析。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)