From 286e632288b13f29be880619eb5dc72b90b1736b Mon Sep 17 00:00:00 2001 From: qing <1776177662@qq.com> Date: Sat, 15 Aug 2026 19:48:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(pybot):=20=E5=BD=95=E5=88=B6=20spk.F=20?= =?UTF-8?q?=E5=88=97=E6=81=92=200=E2=80=94=E2=80=94=E4=B8=8E=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=20FIXED=5FOUTPUT=20=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit F2 方案下推理端 spk.F 固定输出 0(bins.FIXED_OUTPUT),而脚本真值 可达 1000Hz,保留真值产生"模型 0 vs 数据 1000"的评估伪影(14.5K)。 录制时写常量 0 消除伪影;spk.delay 微步录制下恒 10.0 已与模型一致。 data_v3(296MB 可复现录制产物)加入 .gitignore。 --- .gitignore | 3 +++ pybot/pybot/recorder.py | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/.gitignore b/.gitignore index 264605a..259187b 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,6 @@ waf/certs/ # 运行时日志(HailoRT 等) hailort.log + +# 录制产物(可复现:mtc DSL → 编译 → pybot --record) +actpred/data_v3 diff --git a/pybot/pybot/recorder.py b/pybot/pybot/recorder.py index 36cb2e0..1efccb4 100644 --- a/pybot/pybot/recorder.py +++ b/pybot/pybot/recorder.py @@ -17,6 +17,12 @@ from pathlib import Path log = logging.getLogger("pybot.recorder") +# spk.F 列(动作契约列 10)与模型固定输出对齐:F2 方案下推理端该列恒为 +# 常量 0(actpred/bins.py FIXED_OUTPUT),而脚本真实值可达 1000Hz—— +# 保留真值会产生"模型 0 vs 数据 1000"的评估伪影。v3 起录制时写常量 0。 +# spk.delay(列 11)无需处理:微步录制下恒为 10.0,与 FIXED_OUTPUT 一致。 +SPK_F_COL = 10 + class EpisodeRecorder: """录制 actpred 格式的 episode(images/*.jpg + actions.npy [+ imu.npy]) @@ -80,6 +86,8 @@ class EpisodeRecorder: src = np.asarray(action_vec, dtype=np.float32).ravel() n = min(len(src), self.action_dim) vec[:n] = src[:n] + if self.action_dim > SPK_F_COL: + vec[SPK_F_COL] = 0.0 self._actions.append(vec) if imu_vec is None: