Skip to content

限制与性能

优化指标记录

使用 swanlab.log 跟踪记录实验指标,记录后,这些指标会生成图表与显示在表格中。当记录的数据量过多时,可能会使网页的访问变慢。

建议1:将不同指标的总数保持在1万以下

记录超过10k个不同的指标名,可能会减慢你仪表盘渲染与表格操作速度。

对于媒体数据,尽量将相关的媒体数据记录到相同的指标名称下:

python
# ❌ 不推荐的做法
for i, img in enumerate(images):
    swanlab.log({f"pred_img_{i}": swanlab.Image(image)})

# ✅ 推荐的做法
swanlab.log({"pred_imgs": [swanlab.Image(image) for image in images]})

建议2:指标宽度保持在1000万以下

指标宽度在以step为横轴的折线图中,指的是step最小值与最大值之间的范围差。

在指标宽度过大时,会影响实验中所有指标的绘图加载时间,导致访问缓慢。


建议3:限制指标的提交频率

选择适合你正在记录的指标的记录频率。在经验上,指标越宽,记录它的频率就越低。

具体来说,我们建议:

  • 标量:每个指标 < 50k 个记录点
  • 媒体数据:每个指标 < 10k 个记录点

如果你超出这些准则,SwanLab 将继续接受你记录的数据,但页面加载速度可能会很慢。

推荐的记录方法如下代码所示:

python
# 比如有1MB次循环
for step in range(1000000):
    ....

    # 每1k次循环提交一次,有效降低指标的提交频次
    if step % 1000 == 0:
        swanlab.log({"scalar": step})