您好!
自定义层的最大池化示例不是很有用、因为它是一个简单的层、甚至不涉及使用权重或偏倚、所以我在尝试研究如何使用这些自定义层挂钩来处理更复杂的层时遇到了一些问题。
1)自定义层如何访问存储器的暂存区域以进行大型(每像素)工作计算(例如通过 TIDL_scratchBufAlloc)。 没有 sTIDL_AlgLayer_t 传递到定制层、它通常包含暂存偏移(在 Init/Alloc 期间没有用于设置暂存大小的挂钩)。
2)自定义图层如何同时具有权重和偏倚? Max Pool 示例使用其在权重指针中的(少量)参数传递自定义结构、该结构看起来是唯一传输的数据。 我发现现在唯一的方法是在权重指针中同时传递权重和偏置。
3)如何处理权重和偏置的不同数据大小,例如,批标准层将使用8位权重,但在编译后 A16位偏置,以便在计算期间不会降低准确性。
4)量化和图形编译期间权重数据会发生什么情况(PerfSim -黑框),例如批量标准权重通常为8位,偏压为16位,但鉴于 Max Pool 的自定义结构不能应用通用缩放,否则会破坏未知数据格式。 这意味着权重是否始终未缩放(即保持为浮点)? 我假设编译器也会为临时存储器和偏置指针分配内存、而不为自定义层中的这两个存储器分配任何内存?
谢谢。
罗斯