揭阳装修网站建设,1024d wordpress,北京有名的装修公司,怎么做网站网站吗本节指导如何利用Lightning进行可视化和监控模型 为何需要跟踪参数
在模型开发中#xff0c;我们跟踪感兴趣的值#xff0c;例如validation_loss#xff0c;以可视化模型的学习过程。模型开发就像驾驶一辆没有窗户的汽车#xff0c;图表和日志提供了窗口#xff0c;让我们… 本节指导如何利用Lightning进行可视化和监控模型 为何需要跟踪参数
在模型开发中我们跟踪感兴趣的值例如validation_loss以可视化模型的学习过程。模型开发就像驾驶一辆没有窗户的汽车图表和日志提供了窗口让我们知道该把车开到哪里。有了Lightning几乎可以可视化任何你能想到的东西数值、文本、图像、音频…
跟踪指标
度量可视化是理解模型在整个模型开发过程中如何运行的最基本但最强大的方法。要跟踪指标只需使用LightningModule中的self.log方法
class LitModel(pl.LightningModule):def training_step(self, batch, batch_idx):value ...self.log(some_value, value)要一次记录多个指标使用self.log_dict
values {loss: loss, acc: acc, metric_n: metric_n} # add more items if needed
self.log_dict(values)要在命令行进度条中查看指标需将prog_bar参数设置为True。
self.log(..., prog_barTrue)命令行视图
如果要在浏览器中查看指标默认情况下Lightning使用Tensorboard和一个简单的CSV日志记录器。
# 默认情况下每个训练器已经启用了tensorboard(如果依赖项可用)
trainer Trainer()使用如下命令进行显示
tensorboard --logdirlightning_logs/如果您使用的是notebook环境如colab或kaggle或jupyter使用如下命令启动Tensorboard
%reload_ext tensorboard
%tensorboard --logdirlightning_logs/累计指标
当在training_step中调用self.log时它会生成一个时间序列显示指标随时间的变化情况。
然而对于验证和测试集我们通常对绘制每批数据的指标不感兴趣。相反我们希望在整个数据分割中计算汇总统计(例如平均值、最小值或最大值)。
当您在validation_step和test_step中调用self.log时Lightning会自动累积指标并在整个分割(epoch)完成后取平均值。
def validation_step(self, batch, batch_idx):value batch_idx 1self.log(average_value, value)如果不想取平均值也可以通过传递reduce_fx参数从{min,max,sum}中进行选择。
# default function
self.log(..., reduce_fxmean)对于其他reductions我们建议记录一个torchmetrics.Metric 实例取代。
配置保存目录
默认情况下任何记录的内容都保存到当前工作目录中。要使用不同的目录请在Trainer中设置default_root_dir参数。
Trainer(default_root_dir/your/custom/path)