simvue-io / simvue-io/python-api

Creating new grid breaks if axes labels not provided

未关闭
#882 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

bug
主要语言
Python
星标
4
派生
1
平均合并
5 天 8 小时
30 天内合并 PR
4

描述

Description of Bug

If I use assign_metrics_to_grid to make a new grid, and I don't provide a list of axes labels, it will crash and give a misleading error message:

  File "/home/wk9874/Documents/simvue/python-api/simvue/run.py", line 1434, in assign_metric_to_grid
    self._error(f"Grid '{grid_name}' is not defined.")
  File "/home/wk9874/Documents/simvue/python-api/simvue/run.py", line 606, in _error
    raise SimvueRunError(message)
simvue.exception.SimvueRunError: Grid 'test_metric_2d' is not defined.

I dont think axes labels should be required, it should probably default to 'x' for 2D metrics of ['x', 'y'] for 3D metrics. Although if you would prefer to be explicit and require axes labels, it should provide a more informative message

Steps To Reproduce

Code to reproduce the behavior:

import simvue
import numpy

with simvue.Run() as run:
    run.init("test")
    run.assign_metric_to_grid(metric_name="test_metric_2d", axes_ticks=numpy.arange(100))
    for i in range(10):
        run.log_metrics({"test_metric_2d": numpy.random.rand(10)}, time=i, step=i)

Expected behavior

Should create a grid and log a metric

Actual Behaviour

Error thrown

Screenshots

If applicable, add screenshots to help explain your problem.

Setup

  • OS: Ubuntu 22.04
  • Python version 3.10

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

检查 simvue/run.py 中第 1434 行附近的 assign_metric_to_grid,然后使用 numpy 和缺失的坐标轴标签运行复现。确认预期行为是使用默认值创建网格,还是报告更清晰的验证错误,并验证最终行为是否与预期的网格和指标记录流程一致。

由索引模型根据 Issue 内容生成。

评估

技术栈
numpy, python
领域
api, data
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。