如何解决PyTorch 闪电:同一张量板图中的多个标量例如训练和有效损失
使用 PyTorch Tensorboard,我可以在单个 Tensorboard 图中记录我的训练和有效损失,如下所示:
writer = torch.utils.tensorboard.SummaryWriter()
for i in range(1,100):
writer.add_scalars('loss',{'train': 1 / i},i)
for i in range(1,{'valid': 2 / i},i)
如何使用 Pytorch Lightning 的默认 Tensorboard 记录器实现相同的效果?
def training_step(self,batch: Tuple[Tensor,Tensor],_batch_idx: int) -> Tensor:
inputs_batch,labels_batch = batch
outputs_batch = self(inputs_batch)
loss = self.criterion(outputs_batch,labels_batch)
self.log('loss/train',loss.item()) # creates separate graph
return loss
def validation_step(self,_batch_idx: int) -> None:
inputs_batch,labels_batch)
self.log('loss/valid',loss.item(),on_step=True) # creates separate graph
解决方法
文档将其描述为 self.logger.experiment.some_tensorboard_function()
,其中 some_tensorboard_function 是 tensorboard 提供的函数,因此对于您要使用的问题
self.logger.experiment.add_scalars()
可以找到 pytorch-lightning 的 Tensorboard 文档 here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。