fix(pybot): 录制 spk.F 列恒 0——与模型 FIXED_OUTPUT 对齐
F2 方案下推理端 spk.F 固定输出 0(bins.FIXED_OUTPUT),而脚本真值 可达 1000Hz,保留真值产生"模型 0 vs 数据 1000"的评估伪影(14.5K)。 录制时写常量 0 消除伪影;spk.delay 微步录制下恒 10.0 已与模型一致。 data_v3(296MB 可复现录制产物)加入 .gitignore。
This commit is contained in:
1 parent
37feb09185
commit
286e632288
2 files changed
+11
No files matched your search
@@ -25,3 +25,6 @@ waf/certs/
|
|||||||
|
|
||||||
# 运行时日志(HailoRT 等)
|
# 运行时日志(HailoRT 等)
|
||||||
hailort.log
|
hailort.log
|
||||||
|
|
||||||
|
# 录制产物(可复现:mtc DSL → 编译 → pybot --record)
|
||||||
|
actpred/data_v3
|
||||||
@@ -17,6 +17,12 @@ from pathlib import Path
|
|||||||
|
|
||||||
log = logging.getLogger("pybot.recorder")
|
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:
|
class EpisodeRecorder:
|
||||||
"""录制 actpred 格式的 episode(images/*.jpg + actions.npy [+ imu.npy])
|
"""录制 actpred 格式的 episode(images/*.jpg + actions.npy [+ imu.npy])
|
||||||
@@ -80,6 +86,8 @@ class EpisodeRecorder:
|
|||||||
src = np.asarray(action_vec, dtype=np.float32).ravel()
|
src = np.asarray(action_vec, dtype=np.float32).ravel()
|
||||||
n = min(len(src), self.action_dim)
|
n = min(len(src), self.action_dim)
|
||||||
vec[:n] = src[:n]
|
vec[:n] = src[:n]
|
||||||
|
if self.action_dim > SPK_F_COL:
|
||||||
|
vec[SPK_F_COL] = 0.0
|
||||||
self._actions.append(vec)
|
self._actions.append(vec)
|
||||||
|
|
||||||
if imu_vec is None:
|
if imu_vec is None:
|
||||||
|
|||||||
Reference in new issue
Block a user