首页
/ Rerun 0.23.0发布:支持多标量日志与向后兼容的.rrd格式

Rerun 0.23.0发布:支持多标量日志与向后兼容的.rrd格式

2025-06-07 06:10:05作者:殷蕙予

Rerun是一个面向多模态和时序数据的可视化分析工具,它提供了简单易用的数据库和可视化功能。通过Rerun,开发者可以轻松记录、存储和可视化各种类型的数据,特别适合处理包含时间维度的复杂数据流。

核心功能升级

多标量日志支持

在0.23.0版本中,Rerun引入了对同一实体路径下多标量信号的支持。这一改进使得开发者能够将逻辑上相关的数据(如LeRobot数据集中的动作值或陀螺仪测量值)记录在同一个实体路径下。

以前,开发者需要为每个分量创建单独的实体路径:

rr.log("gyroscope/x", rr.Scalar(measurement[0]))
rr.log("gyroscope/y", rr.Scalar(measurement[1]))
rr.log("gyroscope/z", rr.Scalar(measurement[2]))

现在可以简化为:

rr.log("gyroscope", rr.Scalars(measurement))

这一改进不仅简化了代码,还使得数据组织更加直观。同时,SeriesLineSeriesPoints原型现在包含visible_series组件,允许开发者控制哪些系列出现在可视化中,而隐藏的系列仍会显示在图例中。

向后兼容的.rrd格式

0.23.0版本对Rerun的文件格式进行了重大改进,迁移到了基于protobuf的新格式。这一变化虽然带来了短暂的兼容性中断(旧版本的.rrd文件将无法加载),但为未来的版本提供了更好的向后兼容性保证。

新格式的设计考虑了长期的数据兼容性需求,确保未来的Rerun版本能够读取当前版本创建的文件。对于需要长期存储分析数据的用户来说,这是一个重要的改进。

新增功能特性

回调API

Rerun 0.23.0为Jupyter Notebook和JavaScript环境添加了回调API支持。这一功能使得开发者能够轻松构建简单的标注工具,响应视图中的选择变化和时间线变化事件。

虽然目前这一API还仅限于Notebook和JavaScript环境,但它为交互式数据分析开辟了新的可能性。开发者可以利用这一功能构建自定义的用户界面和交互逻辑。

记录属性

新版本引入了"记录属性"的概念,允许开发者向记录添加元数据。例如,可以使用.send_recording_name("我的记录")为记录命名,这个名字将显示在查看器的记录面板中。

此外,开发者还可以通过通用的.send_property()方法记录任意数据。这些属性作为静态数据记录,也会出现在时间线中。当选择记录时,侧边面板会显示属性的概览。

实验性表格支持

Rerun正在改进对表格和数据框的支持。0.23.0版本引入了实验性的send_tableAPI,允许通过Python SDK和Notebook发送任意的Arrow记录批次。

虽然这一功能目前还处于早期阶段,但它为未来更强大的表格分析功能奠定了基础。开发者可以期待未来版本中加入的过滤、汇总统计等高级分析功能。

技术细节与改进

通信协议升级

Rerun现在主要依赖gRPC进行SDK与查看器之间的通信。这一变化带来了更高效的网络传输和更可靠的连接,但也意味着连接URL现在需要rerun://(TLS)或rerun+http://(未加密)前缀。

时间处理改进

新版本对时间处理进行了多项改进:

  • 引入了rr.IndexColumnrr.set_indexAPI
  • 统一了时间单位名称
  • 改进了时间轴控制和时间上下文菜单

开发者体验

  • 更新了最低支持的Rust版本(MSRV)到1.84
  • 对Python SDK进行了多项清理和改进
  • 增加了更多的类型检查和lint规则
  • 移除了多个已弃用的API

可视化与用户体验

Rerun 0.23.0在可视化方面也有多项改进:

  • 支持从LeRobot数据集加载深度图像
  • 改进了绘图高亮的一致性
  • 添加了复制实体路径到剪贴板的功能
  • 改进了时间序列显示范围的处理
  • 增加了对JPEG/TIFF图像EXIF数据的显示

总结

Rerun 0.23.0是一个重要的里程碑版本,它通过引入多标量日志支持和改进文件格式,为未来的功能扩展奠定了坚实基础。虽然这些变化带来了短暂的兼容性中断,但它们为长期的数据兼容性和功能扩展提供了更好的支持。

对于现有用户,建议参考官方迁移指南进行升级。新用户可以借助改进的API和文档更轻松地上手这一强大的数据可视化工具。随着表格支持和回调API等新功能的逐步成熟,Rerun正在成长为一个更加全面和强大的数据分析平台。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
kernelkernel
deepin linux kernel
C
32
16
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
2.09 K
218
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
700
1.4 K
docsdocs
暂无描述
Dockerfile
780
5.08 K
pytorchpytorch
Ascend Extension for PyTorch
Python
758
968
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
880
2.03 K
mindquantummindquantum
MindQuantum is a general software library supporting the development of applications for quantum computation.
Python
183
111
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.11 K
682