- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Pytorch Lightning 训练我的模型(在 GPU 设备上,使用 DDP)并且 TensorBoard 是 Lightning 使用的默认记录器。
我的代码设置为分别记录每个训练和验证步骤的训练和验证损失。
class MyLightningModel(pl.LightningModule):
def training_step(self, batch):
x, labels = batch
out = self(x)
loss = F.mse_loss(out, labels)
self.log("train_loss", loss)
return loss
def validation_step(self, batch):
x, labels = batch
out = self(x)
loss = F.mse_loss(out, labels)
self.log("val_loss", loss)
return loss
TensorBoard 在 SCALERS
选项卡中正确绘制了 train_loss
和 val_loss
图表。但是,在 HPARAMS
选项卡的左侧栏中,只有 hp_metric
在 Metrics
下可见。
但是,在 HPARAMS
选项卡的左侧栏中,只有 hp_metric
在 Metrics
下可见。
我们如何将 train_loss
和 val_loss
添加到 Metrics
部分?这样,我们将能够在 PARALLEL COORDINATES VIEW
中使用 val_loss
而不是 hp_metric
。
使用 Pytorch 1.8.1、Pytorch Lightning 1.2.6、TensorBoard 2.4.1
最佳答案
self.logger.log_hyperparams
方法在 tensorboard 中记录超参数和指标。 (参见 pytorch lightning tensorboard docs)metric
中传递了相同的键名时,您通过 self.log
添加的值才会显示在 hparam 插件中。 (参见 pytorch tensorboard docs)示例代码(full code):
class BasicModule(LightningModule):
def __init__(self, lr=0.01):
super().__init__()
self.model = models.resnet18(pretrained=False)
self.criterion = nn.CrossEntropyLoss()
self.lr = lr
self.save_hyperparameters()
metric = MetricCollection({'top@1': Accuracy(top_k=1), 'top@5': Accuracy(top_k=5)})
self.train_metric = metric.clone(prefix='train/')
self.valid_metric = metric.clone(prefix='valid/')
def on_train_start(self) -> None:
# log hyperparams
self.logger.log_hyperparams(self.hparams, {'train/top@1': 0, 'train/top@5': 0, 'valid/top@1': 0, 'valid/top@5': 0})
return super().on_train_start()
def training_step(self, batch, batch_idx, optimizer_idx=None):
return self.shared_step(*batch, self.train_metric)
def validation_step(self, batch, batch_idx):
return self.shared_step(*batch, self.valid_metric)
def shared_step(self, x, y, metric):
y_hat = self.model(x)
loss = self.criterion(y_hat, y)
self.log_dict(metric(y_hat, y), prog_bar=True)
return loss
if __name__ == '__main__':
# default_hp_metric=False
logger = loggers.TensorBoardLogger('', 'lightning_logs', default_hp_metric=False)
trainer = Trainer(max_epochs=2, gpus='0,', logger=logger, precision=16)
关于python - 使用 Pytorch Lightning 时如何将指标(例如验证损失)记录到 TensorBoard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66945431/
你的问题是什么? 我正在尝试实现一个需要访问整个数据的指标。因此,我没有在 *_step() 方法中更新指标,而是尝试在 *_epoch_end() 方法中收集输出。但是,输出仅包含每个设备获取的数据
我的闪电组件设置如下: {!option}
组件:
当我使用 ddp 模式(2 个 GPU)在集群上启动我的主脚本时,Pytorch Lightning 会复制主脚本中执行的任何内容,例如打印或其他逻辑。我需要一些扩展的训练逻辑,我想自己处理。例如。在
我有一个现有的模型,我在其中加载一些预训练的权重,然后在 pytorch 中进行预测(一次一张图像)。我正在尝试将其基本上转换为 pytorch 闪电模块,并且对一些事情感到困惑。 所以目前,我的__
我知道F22使用了ADA。 F35上软件的主要语言是什么? 最佳答案 F-35联合打击战斗机(闪电II)软件由以下语言组成(至少根据下面的消息来源): Source | Source - Alt(第3
我想在 validation_epoch_end 的 LightningModule 方法中创建一个新的张量。从官方 docs(第 48 页)中指出,我们应该避免直接 .cuda() 或 .to(de
我对 Pytorch Lightning 中的 tqdm 进度条有很多问题: 当我在终端中运行训练时,进度条会自行覆盖。在训练时期结束时,验证进度条会打印在训练栏下方,但当训练结束时,下一个训练时期的
对不起我的英语。我将从 Thunderbird Lightning Addon SQLLight 文件中提取正确的时间戳。 我的 SQL 语句是: CREATE TABLE cal_events (
我们如何允许用户在 salesforce 中仅使用一个 LWC 实例? 我是 salesforce lightning web 组件的新手,所以想设置权限或代码可能会有用。 预期的结果应该是:只有一个
我们有可在移动设备和桌面设备上运行的 salesforce lightning 应用程序。只需要为移动应用程序编写一些代码。如何检测应用程序是在移动浏览器还是桌面浏览器上运行?我使用了以下代码但它不起
我正在尝试使用闪电电缆将我的 iOS 应用程序(即 MIDI Controller )连接到 Mac。我用 core midi 编写了应用程序,连接是 bonjour 并且可以正常工作,但是我有延迟,
我最近接手了一个由另一位开发人员发起的小元素,该元素的核心部分之一是在日历上显示信息。该日历是在 salesforce lightning 组件中使用 Javascript 创建的,JS 创建了一个无
我将组件创建为 Lightning Web 组件。在 VSCode 中没问题。当我在 Lightning App Builder 中添加这个组件时,有一个错误:“LWC 组件连接阶段出错:[无法读取未
我正在查看 PyTorch-Lightning 上提供的示例官方文档 https://pytorch-lightning.readthedocs.io/en/0.9.0/lightning-modul
我正在使用 microsoft azure(针对学生)ML 服务。然后我使用笔记本工作,无法导入 pytorch-lightning 库。 !pip install pytorch-lightning
我正在尝试将一个简单的 OnClick Javascript 按钮转换为 Lightning。这个 OnClick 非常简单,它只是打开一个 URL,但它使用父记录上的值作为 URL 的一部分。即机会
我正在尝试使用 QLPreviewController 显示 AR 内容。除了灯光之外,一切都很好。如果我使用 Xcode 或 macOS 的快速查看预览文件,光照是自然的,但是当我使用 QLPrev
有人知道如何使用 Swift 读取使用 Lightning 端口连接到 iPhone 的设备的电池百分比吗?如果有人知道这是不可能的,我也会非常感激。如果确实不可能,我应该使用蓝牙吗? 非常感谢大家的
我需要检测 iOS 设备是否配备了 Lightning 端口或老式 30 针端口。 这样做最可靠的方法是什么? 最佳答案 使用它来获取设备型号字符串: iOS - How to get device
我是一名优秀的程序员,十分优秀!