与 `rerun --asset` 实战指南)
Rerun 0.37 新特性Viewer 加载资产数据Assets与rerun --asset实战指南【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerunRerun 的资产Asset机制为多模态机器人数据引入了静态数据共享模型把机器人网格、URDF 模型、标定文件等注册为数据集上的资产让同一数据集的多个分段Segment复用而无需重复拷贝进每条录制。本文围绕 changeset-0-37.md 中的 Assets 变更与 cli-asset-flag.md 的rerun --asset功能展开结合 catalog-object-model.md 与 cli.md 的完整说明带你掌握 Viewer 加载资产数据的完整工作流从 CLI 注册资产、Viewer 内查看与增删到 Python Catalog API 查询资产与性能考量。什么是 Rerun 资产Assets资产是注册在数据集Dataset上、并被该数据集所有分段共享的静态数据典型例子包括机器人 URDF、房间网格room mesh或标定数据calibration。在 Rerun 0.37 的数据模型里资产与蓝图blueprint类似拥有自己独立的数据集归属于它所服务的数据集资产只需注册一次不必复制进每一条录制segment删除所属数据集时其资产数据集与资产存储会一并删除资产只能包含静态数据——如果一个.rrd文件包含时间维度的数据则无法注册为资产。完整的数据模型说明见 catalog-object-model.md。Viewer 如何加载并缓存资产打开分段时按需下载当 Rerun Viewer 打开某个分段时它会连同分段自身的数据一起加载所属数据集的资产。资产数据会被缓存起来因此同一数据集的其他分段再次打开时无需重复下载同一个资产——这是 0.37 引入的核心体验改进见 changeset-0-37.md 的 Assets 章节。在 Viewer 中查看与管理资产数据集的视图现在会列出已注册的资产及其元数据。与之前只能通过外部手段注册不同0.37 起可以直接在 Viewer 内完成资产的注册与注销操作界面直观可见Assets标签页列出资产并允许注册/注销。命令行rerun --asset注册资产基本用法rerun --asset允许你在启动 Viewer 时把一个.rrd文件注册为指定本地录制所在数据集的资产rerun rec.rrd --asset asset.rrd这条命令会把asset.rrd注册到rec.rrd所属数据集的资产中使该资产在录制中可见。在 0.37 之前一个资产文件若以自己的 recording id 写入会作为独立的录制被打开现在它作为资产挂靠在录制所在的数据集下语义更清晰见 cli-asset-flag.md。多条命令的注册规则每个--asset都会被注册到命令行中所有指定本地.rrd录制所在的数据集与参数顺序无关rerun --asset mesh.rrd rec0.rrd rec1.rrd --asset robot.rrd上面的命令会把mesh.rrd与robot.rrd两个资产都注册到rec0.rrd、rec1.rrd两个录制各自的数据集中。URL、蓝图及其他非录制参数不会接收资产。若在没有任何本地.rrd录制的情况下单独使用--asset会产生错误。--asset可以重复传多次如上面示例所示。依赖 Viewer catalog 设置该功能需要Settings → Viewer catalog下的Load files via Viewer catalog设置处于开启状态使用--asset时如果该设置当前是关闭的Rerun 会自动将其启用无需手动干预。完整的 CLI 参数列表见 CLI manual其中对--asset PATH的官方定义为一个指向.rrd文件的路径将其注册为所有包含指定本地录制的数据集的资产资产持有静态数据如网格或机器人模型可被数据集内所有录制共享。Python API用 Catalog 操作资产除了 CLI 与 ViewerRerun 的 Python Catalog API 同样支持资产的全生命周期管理示例取自 catalog-object-model.mddataset.register_asset(file:///path/to/file.rrd) # 注册资产 dataset.unregister_asset(asset_id) # 注销资产 print(dataset.assets()) # 列出当前资产register_asset()从服务器可读取的.rrd文件注册资产不支持的情况包括文件含时间数据、或注册后会使数据集资产数超过12 个的上限。分段存储与资产清单从 Python 侧segment_store()返回的存储会同时覆盖数据集的资产与分段自身的数据。若只想处理分段数据可传入include_assetsFalse排除资产这也会跳过对资产清单manifest的请求# 覆盖分段与资产两者的 chunks both dataset.segment_store(segment_id) # 仅覆盖分段不获取任何资产清单 segment_only dataset.segment_store(segment_id, include_assetsFalse)每个资产的清单获取都要消耗一次请求因此只关心分段自身数据时include_assetsFalse是值得的优化手段。资产数据集的查询细节Dataframe 查询 API 是例外它们只停留在数据集自身的分段上资产永远不会出现在查询结果里。DatasetEntry.schema()、segment_ids()、segment_table()、reader()等接口都会忽略资产数据集。资产数据集是隐藏的CatalogClient.datasets()默认不会列出它除非传入include_hiddenTrue。若要查询资产数据直接以资产数据集为目标即可——每个已注册资产对应其中一个分段且资产只含静态数据因此读取时无需传入索引indexasset_dataset dataset.asset_dataset() print(asset_dataset.schema()) df asset_dataset.reader(indexNone) # 资产仅含静态数据无索引可读底层实现与适用场景小结从源码结构看资产机制构建在 Rerun 的 Catalog 对象模型之上资产作为独立数据集存储、以.rrd文件为注册载体、按需拉取清单并缓存数据这与蓝图的归属/级联删除语义保持一致。这套机制最典型的应用场景是跨分段共享的静态参考数据机器人数据集每个 episode 分段都引用同一个机器人网格/URDF多房间重建共享房间网格各分段只记录各自的轨迹标定文件所有相机分段复用同一份标定数据。CLI、Viewer 界面与 Python API 三端能力对齐命令行rerun --asset适合批量导入Viewer 的资产标签页适合交互式增删Pythonregister_asset/unregister_asset适合脚本化管线。三者配合即可完整覆盖资产注册 → Viewer 加载缓存 → 跨分段复用 → 按需查询的全流程。【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考