当需要融合两个 layer 时, 先要确定层之间的坐标对应关系.

argument layer with coordinate map

坐标映射可以表示成 $Ax+b$, 其中 $A$是对角阵(即只有缩放, 没有拉伸), 根据坐标的维数, 赋值参数. 比如 2维的identity坐标变换 $(a_{1,2}, b_{1,2}) = (1, 0)$.

C++: make_pair: make two element a pari vector constructor: (n, value) transform: apply ops to each elements

组合变换: $A_2(A_{1}x+b_1)+b_2$.

逆变换: $A^{-1}y-A^{-1}b$.

deconvolution: filter map

convolution: filter map inv 确认下是逆.

crop layer

应该要保证两个结点 scale 的尺度是一样的, 主要解决因为 padding 导致的偏移不一致. 从节点回溯直接找到一个共同的父节点, 然后计算仿射变换矩阵, 不确定 crop_h, crop_w 的计算方式 ...

在讨论区有关于重构 crop layer, 即只提供 crop 大小的参数. python code 用于计算 crop 的数值, 并不需要在网络中为了一个 crop 维护好多东西.

n-D crop layer refactor

实现了根据提供的参数进行 crop 的实现; TODO: 具体细节梳理.

python crop parameter

对话中有详细的设计说明.