实验 12:A6 Decoder Viability Probe

运行时定位 selected-alpha 在 shape SLat 前的 empty support 崩溃

实验定位 根因定位更精确

A6 直接 patch TRELLIS.2 运行时,捕获 selected-alpha 真实 full-run 的中间状态。结论比 A5 更精确:A3 preflight 通过不代表 full-run 也通过。在 gso_000_input4 上,selected alpha=0.1250 的 full-run sparse sampler 输出 0 个 token,随后 shape SLat 入口因为 empty coords 崩溃;baseline 同 seed 输出 26 个 token 并成功生成 mesh。

实验设计(Image-2 风格)

实验设计图:运行时捕获 selected-alpha 崩溃阶段
实验设计图:运行时捕获 selected-alpha 崩溃阶段
模块设计图:runtime gate 替代离线 preflight 假设
模块设计图:runtime gate 替代离线 preflight 假设

模块设计(Image-2 风格)

本页的模块设计图已在“实验设计”区域并排展示;它描述输入视角、VGGT/TRELLIS.2 信号、门控/路由、mesh 输出和评测反馈之间的数据流。这里单独标出模块设计章节,方便按统一汇报格式阅读。

实验结果(表格)

run状态sparse tokensshape SLat tokensverticesfaces异常
selected-firstfailed0---RuntimeError: max(): Expected reduction dim to be specified for input.numel() == 0. Specify the reduction dim with the 'dim' argument.
baselineok2626670313496-
selected-after-baselinefailed0---RuntimeError: max(): Expected reduction dim to be specified for input.numel() == 0. Specify the reduction dim with the 'dim' argument.

可视化结果

A6 sparse token by run
A6 sparse token by run
A6 shape SLat failure by run
A6 shape SLat failure by run
selected-first sparse tokens
0

真实 full-run 中 selected-alpha 直接坍塌为空 support。

baseline sparse tokens
26

同 seed baseline 正常进入 shape/texture/mesh 解码。

selected-after-baseline
failed

先跑 baseline 不能修复 selected-alpha 的 empty support。

代码级定位

异常发生在 shape SLat 入口,而不是 texture decode 或 mesh fill。selected run 的 sample_sparse_structure 返回空 coords.shape=[0,4];随后 SparseTensor 需要从 coords 计算 shape,空张量触发 max() 报错。相关代码位置:/home/jiachen/.config/superpowers/worktrees/TRELLIS.2/trellis2-multiview-input/trellis2/modules/sparse/basic.py:463 附近的 coords[:, 0].max() / spatial shape 计算。

实验结论

下一步想法

下一轮 A7 应该实现 runtime sparse viability gate:在 TRELLIS.2 full generation 内部捕获 selected sparse coords;若 empty、token ratio 过低/过高、centroid drift 或 Jaccard 不达标,则不进入 shape SLat,直接回退 baseline。这个 gate 需要在 10-case 上验证 no-extra-failure,再扩到 100-case 2/4/6/8 输入矩阵。