plt.plot(train_loss) plt.xlabel('Epoch') plt.ylabel('Loss') plt.show() 为什么画出来的图没有曲线?
时间: 2023-08-12 22:05:40 浏览: 121
loss_loss_如何读取loss值_损失函数_
5星 · 资源好评率100%
可能是因为缺少`plt.plot()`函数中的第一个参数`x`,导致`plt.plot()`函数无法确定要绘制的横坐标。一般情况下,`plt.plot()`函数的参数会是两个列表,分别表示横坐标和纵坐标的数据。如果只传入一个列表,则该列表默认作为纵坐标的数据,横坐标则默认为该列表的下标。
因此,建议将代码修改为如下形式:
```
import matplotlib.pyplot as plt
x = range(len(train_loss)) # 横坐标为下标
plt.plot(x, train_loss)
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.show()
```
其中`x`为横坐标的数据,这里使用`range()`函数生成了一个与`train_loss`长度相同的整数列表。这样就能够正确绘制出损失曲线了。
阅读全文