限制与性能
优化指标记录
使用 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})