拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Rerun Python 示例实战指南:安装、运行与源码级解析

Rerun Python 示例实战指南安装、运行与源码级解析【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun本指南围绕 examples/python/README.md 展开系统讲解 Rerun 官方 Python 示例的安装方式pip 与 Pixi 双路径、运行方式模块执行与命令行脚本、数据保存.rrd文件以及数据集自动下载机制。读完本文你将能独立复现minimal、plots等官方示例并理解其底层实现与版本匹配约束为在自己的项目中快速上手 Rerun SDK 打下基础。示例总览从 minimal 开始Rerun 仓库在 examples/python 目录下提供了大量 Python 示例覆盖点云、时序曲线、视频、机器人数据等多种可视化场景。官方文档明确指出最简单的示例是minimal推荐从这里入门。以minimal为例它的完整源码只有几十行展示了 Rerun SDK 最核心的初始化 日志两步式用法#!/usr/bin/env python3 Demonstrates the most barebone usage of the Rerun SDK. from __future__ import annotations import sys import numpy as np import rerun as rr # pip install rerun-sdk def main() - None: # sanity-check since all other example scripts take arguments: assert len(sys.argv) 1, f{sys.argv[0]} does not take any arguments rr.init(rerun_example_minimal, spawnTrue) positions np.vstack([xyz.ravel() for xyz in np.mgrid[3 * [slice(-10, 10, 10j)]]]).T colors np.vstack([rgb.ravel() for rgb in np.mgrid[3 * [slice(0, 255, 10j)]]]).astype(np.uint8).T rr.log(my_points, rr.Points3D(positions, colorscolors, radii0.5)) if __name__ __main__: main()这段代码的核心逻辑清晰可辨见 minimal.pyrr.init(rerun_example_minimal, spawnTrue)初始化一个名为rerun_example_minimal的 RecordingStreamspawnTrue表示自动拉起 Rerun Viewer 并建立数据流连接np.mgrid构造了一个 10×10×10 的三维点阵共 1000 个点颜色同样按三通道梯度生成rr.log(my_points, rr.Points3D(...))将点云以my_points为实体路径entity path写入数据流radii0.5指定每个点的绘制半径。值得一提的是minimal.py 中有一个assert len(sys.argv) 1的断言用于确保该示例不接收任何命令行参数——这与plots等其他需要解析参数的示例形成对比体现了最小示例的定位。环境准备安装 Rerun Python SDK运行示例前首先需要安装 Rerun Python SDKpip install rerun-sdk也可以通过conda渠道安装。SDK 安装完成后import rerun as rr即可在示例中使用。版本匹配原则重要官方文档特别强调了一个关键约束必须确保你的 SDK 版本与示例代码匹配。Rerun 的 Python 绑定由 Rust 核心编译而来示例代码依赖的是仓库对应版本的 API 形态。例如如果你的 SDK 版本是0.15.1应当将该仓库 checkout 到对应的标签再运行示例git checkout v0.15.1从仓库结构看rerun_py/rerun_sdk/rerun 目录下包含 500 个 Python 模块而底层核心逻辑则由 rerun_py/src 下的 Rust 源码如python_bridge.rs、chunk、lenses.rs等通过 maturin 构建成扩展模块提供。因此 SDK 版本与仓库源码严格对应混用不同版本很可能导致 API 不兼容。安装示例editable 模式安装单个示例每个示例都被打包成一个常规的 Python 包通过其目录下的 pyproject.toml 声明依赖。运行某个示例前必须先将其安装。以minimal为例该示例无需下载任何数据pip install -e examples/python/minimal注意这里必须使用-e即--editable可编辑模式安装。可编辑模式会直接链接源码目录而不是把代码拷贝进 site-packages这样你可以随时修改示例代码并立即生效同时保持与仓库源码的一一对应关系。来看 minimal/pyproject.toml 的完整内容[project] name minimal version 0.1.0 readme README.md dependencies [numpy, rerun-sdk] [project.scripts] minimal minimal:main [build-system] requires [hatchling] build-backend hatchling.build这份配置透露了几个关键信息dependencies [numpy, rerun-sdk]示例显式声明了对rerun-sdk的依赖安装时会自动解析minimal仅额外依赖numpy这正是它最简的原因[project.scripts]中的minimal minimal:main注册了一个名为minimal的 console script控制台脚本指向minimal模块的main函数构建后端使用hatchling。运行示例两种等价方式安装完成后示例有两种运行方式方式一作为普通 Python 模块运行python -m minimal方式二直接执行 console scriptminimal两种方式本质等价——minimal这个命令就是pyproject.toml中[project.scripts]声明的入口。运行后默认行为是拉起一个 Rerun Viewer并将日志数据实时流式传输给它对应rr.init(..., spawnTrue)。保存与回放数据.rrd文件默认情况下示例会将数据实时流式发送到 Viewer。不过对于大多数示例你还可以把日志数据保存为.rrdRerun Recording Data文件之后再用rerun命令回放查看。以plots示例为例plots --save data.rrd然后用 Rerun Viewer 打开rerun data.rrd这里rerun是python -m rerun的命令行别名。在plots示例中--save这类参数正是通过 plots.py 中的rr.script_add_args(parser)注册的——rr.script_add_args会为所有示例脚本统一注入--save、--demo等通用参数随后由rr.script_setup(args, ...)在初始化时消费。这意味着所有遵循该模式的示例都天然支持--save输出.rrd。兼容性警告.rrd文件目前不保证任何向后或向前兼容。某一版本的 Rerun 很可能无法打开由另一个版本生成的.rrd文件。因此保存.rrd后请尽量使用同一版本的 Viewer 回放这与上文版本匹配原则一脉相承。plots 示例进阶从简单标量到复杂蓝图作为验证plots.py 展示了远超minimal的丰富用法可帮助你理解示例体系的复杂度上限时序标量rr.log(trig/sin, rr.Scalars(sin_of_t))配合rr.set_time(frame_nr, sequencet)按帧记录标量plots.py批量列式写入rr.send_columns(spiral, indexes[...], columns[...])一次性发送整列数据避免逐帧循环plots.py静态组件rr.log(..., staticTrue)记录与时间无关的样式信息如rr.SeriesLines、rr.StateConfigurationplots.py蓝图布局rrb.Blueprint声明各视图在 Viewer 中的排版与 override并通过rr.script_setup(args, ..., default_blueprintblueprint)应用plots.py。这些用法覆盖了流式日志 静态样式 列式批量写入 蓝图编排的完整实践路径是深入掌握 Rerun SDK 的绝佳参考。使用 Pixi 运行示例Rerun 项目在开发流程中大量使用 PixiPixi 同样可以用于运行示例。使用前需按 Pixi 官网说明安装 Pixi。从源码构建并运行需 Rust 工具链你可以从源码构建 Rerun并将其安装到 Pixi 管理的 uv 环境中。注意该方式要求系统安装 Rust 工具链Rerun 的 Python SDK 核心是 Rust 扩展构建时需经 maturin 编译。首先构建 SDKpixi run py-buildpy-build在 pixi.toml 中的定义是py-build { cmd uv run maturin develop --uv --manifest-path rerun_py/Cargo.toml --extrastests,catalog,dataloader,tracing, env { RERUN_ALLOW_MISSING_BIN 1 } }可以看到它通过maturin develop以开发模式把 rerun_py/Cargo.toml 声明的 SDK 扩展构建并链接进当前 uv 环境并携带tests、catalog、dataloader、tracing等 extras 特性。构建完成后即可通过 uv 直接运行示例脚本pixi run uv run examples/python/minimal/minimal.py安装全部示例到 uv 环境你还可以把全部 Rerun Python 示例安装进 uv 托管的环境pixi run py-build-examples安装完成后就可以按示例的安装名直接运行例如pixi run uv run plots注意这里的plots正是 plots/pyproject.toml 中[project.scripts]声明的入口名plots plots:main——与上文 pip 安装方式中 console script 的运行逻辑完全一致。数据集首次运行时自动下载部分示例在运行前需要下载小规模数据集它们会在第一次运行时自动执行下载。下载的数据集存放在名为dataset的子目录中该目录已加入仓库级的.gitignore不会被提交进版本库。这一机制在示例源码中可以直接验证例如 lidar 示例的包结构里就包含一个专门的 download_dataset.py负责在运行前准备点云数据集示例目录中还配套了__init__.py与__main__.py确保其可以作为python -m lidar模块执行。贡献新示例给仓库添砖加瓦官方欢迎通过 Pull Request 贡献新的示例。如果你打算新增一个示例请务必遵守两条规则在示例目录中补齐完整包结构包括pyproject.toml声明依赖与 console script、示例源码以及可选的download_dataset.py在顶层 pixi.toml 中登记对应条目否则示例不会被py-build-examples之类的工具链拾取也无法通过pixi run uv run example运行。更详细的贡献流程可参考 CONTRIBUTING.md。小结围绕 examples/python/README.md 这份官方指南本文完整梳理了 Rerun Python 示例的三种典型工作流场景推荐方式关键命令快速体验单个示例pip 可编辑安装pip install -e examples/python/minimal开发调试源码构建Pixi uvpixi run py-buildpixi run uv run ...运行全部示例Pixi 批量安装pixi run py-build-examplespixi run uv run plots无论选择哪条路径都需牢记两点SDK 版本必须与仓库代码匹配可通过git checkout vX.Y.Z对齐以及.rrd文件不保证跨版本兼容。从minimal的百行内入门到plots的蓝图与列式写入进阶Rerun 官方示例体系为多模态机器人数据的可视化、查询与训练前数据流构建提供了完整的可复现模板。【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门