paddle1.3版本paddle.fluid.layers.affine_channel的问题
Created by: drmfsls
paddle.fluid.layers.affine_channel的参数如文档描述如下:
-
x (Variable):特征图输入可以是一个具有NCHW阶或NHWC阶的4D张量。它也可以是二维张量和应用于第二维度的仿射变换。
-
scale (Variable): 形状为(C)的一维输入,第C个元素为输入的第C通道仿射变换的尺度因子。
-
bias (Variable):形状为(C)的一维输入,第C个元素是输入的第C个通道的仿射变换的偏置。
-
data_layout (string, default NCHW): NCHW 或 NHWC,如果输入是一个2D张量,可以忽略该参数
-
name (str, default None): 此层的名称
可见scale、bias和x之前有依赖关系,使用中发现如果C值没有正确对应也能正常计算,并没有抛异常,且同一输入,执行多次结果不一样。这样可能导致如果不小心输入用错了,还能继续运算,但可能导致结果不符合预期,却不知道哪里出问题。建议对affine_channel加上输入参数校验,验证C值是否一致,如果不一致抛异常处理。