Pytorch中怎么使用vis.line 来画train_loss train_acc test_acc 这三条线在同一个图中
时间: 2024-05-06 14:20:38 浏览: 11
可以使用以下代码来实现在同一个图中画 train_loss、train_acc 和 test_acc 三条线:
```
from visdom import Visdom
import numpy as np
viz = Visdom()
# 数据
train_loss = np.random.rand(100)
train_acc = np.random.rand(100)
test_acc = np.random.rand(100)
# x轴坐标
x = np.arange(1, 101)
# 画图
viz.line(
X=x,
Y=np.column_stack((train_loss, train_acc, test_acc)),
opts=dict(
xlabel='Epoch',
ylabel='Loss/Accuracy',
legend=['Train Loss', 'Train Accuracy', 'Test Accuracy']
)
)
```
这里使用了 `np.column_stack()` 函数将三个数据数组合并成一个二维数组,以便于画图。同时,我们可以使用 `opts` 参数来设置 x 轴和 y 轴的标签,以及线条的名称。