我将 PyTorch Lightning 与 w&b 一起使用,并尝试将指标与一组有限的配置相关联。在LightningModule
课堂上,我将其定义test_step
为:
def test_step(self, batch, batch_idx):
x, y_true, config_file = batch
y_pred = self.forward(x)
accuracy = self.accuracy(y_pred, y_true)
self.log("test/accuracy", accuracy)
假设(为简单起见)批量大小为 1,这将记录 1 个样本的准确度,并将在 w&b 仪表板中显示为图表。
我想将此准确性与实验环境的某些配置相关联。此配置可能包括 BDP 因子、带宽延迟、队列大小、位置等。我不想绘制配置,我只想能够通过某些配置值过滤或分组精度。
我能想出的唯一解决方案是将这些配置添加为查询字符串:
def test_step(self, batch, batch_idx):
x, y_true, config_file = batch
# read values in config file
# ...
y_pred = self.forward(x)
accuracy = self.accuracy(y_pred, y_true)
self.log("test/BDP=2&delay=10ms&queue_size=10&topology=single/accuracy", accuracy)
有没有更好的解决方案,它集成了我想要的能够按 BDP 等值进行分组和过滤的功能?