我正在使用 Pytorch Lighting 和 Tensorboard,因为 PyTorch Forecasting 库是使用它们构建的。我想通过 matplotlib 创建自己的损失曲线,并且不想使用 Tensorboard。
可以通过方法访问每个时期的指标吗?验证损失、训练损失等?
我的代码如下:
logger = TensorBoardLogger("logs", name = "model")
trainer = pl.Trainer(#Some params)
记录员或培训师有任何方法可以访问此信息吗?
PL 文档不清楚,有很多与记录器和训练器相关的方法。
我的建议是你:
from pytorch_lightning.loggers import CSVLogger
csv_logger = CSVLogger(
save_dir='./',
name='csv_file'
)
# Initialize a trainer
trainer = Trainer(
accelerator="auto",
max_epochs=1,
log_every_n_steps=10,
logger=[csv_logger],
)
class MNISTModel(LightningModule):
def __init__(self):
super().__init__()
self.l1 = torch.nn.Linear(28 * 28, 10)
def forward(self, x):
return torch.relu(self.l1(x.view(x.size(0), -1)))
def training_step(self, batch, batch_nb):
x, y = batch
loss = F.cross_entropy(self(x), y)
self.log('loss_epoch', loss, on_step=False, on_epoch=True)
return loss
def configure_optimizers(self):
return torch.optim.Adam(self.parameters(), lr=0.02)