fix(pybot×actpred): 审计修复 7 项——Hailo 部署链语义对齐 + NaN 安全

P1-1: export_deploy.py forward() 从硬编码 3 帧改为 *inputs 动态解析
P1-2: hailo_infer.py 补 predict_delta 支持(残差模式 + --ckpt 自动检测)
P1-3: pybot _load_predictor 自动查找 pred_token.npy/action_stats.npy/
      companion checkpoint,恢复 Hailo 推理训练语义
P1-4: pretrain_mt.py random_images 每 batch 重新生成噪声,防 BN 退化
P2-1: predict.py/hailo_infer.py/robot.py 三层 NaN/Inf 防线
P2-3: recorder.py imu_dim 默认 8→0,避免外部直接使用时形状错误
P2-5: _npu_test.py imu_dim 移到函数定义前,消除执行顺序依赖
This commit is contained in:
qing committed 2026-08-14 16:23:05 +08:00
1 parent 7ec8c9d0e9
commit aa271e395a
9 files changed
+109 -13

No files matched your search

+2 -2
View File
@@ -121,7 +121,7 @@ def pretrain_one_epoch(model, loader, optimizer, device, image_width,
if noise_std > 0:
history = history + torch.randn_like(history) * noise_std
target = target + torch.randn_like(target) * noise_std
if images is None or images.size(0) != history.size(0):
if images is None or images.size(0) != history.size(0) or random_images:
images = _placeholder_images(
history.size(0), frame_len, image_height, image_width,
device, random_images)
@@ -147,7 +147,7 @@ def validate(model, loader, device, image_width, image_height, frame_len,
for batch in tqdm(loader, desc=" val ", leave=False):
history = batch["action_history"].to(device)
target = batch["target"].to(device)
if images is None or images.size(0) != history.size(0):
if images is None or images.size(0) != history.size(0) or random_images:
images = _placeholder_images(
history.size(0), frame_len, image_height, image_width,
device, random_images)