小编Wak*_*ame的帖子

nn.Module 和 nn.Sequential 之间有什么区别

我刚刚作为初学者学习使用 PyTorch。如果有人熟悉 PyTorch,你能告诉我nn.Module和 之间的区别吗nn.Sequential

我的问题是

  1. nn.Module使用代替有什么好处nn.Sequential

  2. 经常使用哪个来构建模型?

  3. 我们应该如何选择nn.Module或者nn.Sequential

python pytorch

21
推荐指数
1
解决办法
2万
查看次数

如何在PyTorch Lightning中按每个纪元从记录器中提取损失和准确性?

我想提取所有数据来绘制绘图,而不是使用张量板。我的理解是,自从张量板绘制线图以来,所有带有损失和准确性的日志都存储在定义的目录中。

%reload_ext tensorboard
%tensorboard --logdir lightning_logs/
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,我想知道如何从 pytorch Lightning 中的记录器中提取所有日志。接下来是训练部分的代码示例。

#model
ssl_classifier = SSLImageClassifier(lr=lr)

#train
logger = pl.loggers.TensorBoardLogger(name=f'ssl-{lr}-{num_epoch}', save_dir='lightning_logs')

trainer = pl.Trainer(progress_bar_refresh_rate=20,
                            gpus=1,
                            max_epochs = max_epoch,
                            logger = logger,
                            )

trainer.fit(ssl_classifier, train_loader, val_loader)
Run Code Online (Sandbox Code Playgroud)

我已经确认trainer.logger.log_dir返回的目录似乎保存日志并trainer.logger.log_metrics返回<bound method TensorBoardLogger.log_metrics of <pytorch_lightning.loggers.tensorboard.TensorBoardLogger object at 0x7efcb89a3e50>>

trainer.logged_metrics仅返回最后一个纪元的日志,例如

{'epoch': 19,
 'train_acc': tensor(1.),
 'train_loss': tensor(0.1038),
 'val_acc': 0.6499999761581421,
 'val_loss': 1.2171183824539185}
Run Code Online (Sandbox Code Playgroud)

你知道如何解决这个情况吗?

logging tensorboard pytorch pytorch-lightning

9
推荐指数
1
解决办法
2万
查看次数