[论文复现][已解决]leaky_relu等激活函数如何作为Sequential模型的一部分
Created by: thinkall
paddle中的激活函数虽然可以单独使用,但是在forword函数里头;如果想定义在网络结构里,可以使用lambda或partial函数假装实现。但是,在Sequential模型中无法作为sublayer加入。
fluid.dygraph.Sequential(fluid.dygraph.InstanceNorm(10),
nn.Conv2D(10, 3, 1, 1, 0))
这个OK。
fluid.dygraph.Sequential(fluid.dygraph.InstanceNorm(10),
functools.partial(fluid.layers.leaky_relu, alpha=0.2),
nn.Conv2D(10, 3, 1, 1, 0))
这个报 assert isinstance(sublayer, core.Layer)
fluid.dygraph.Sequential(fluid.dygraph.InstanceNorm(10),
fluid.layers.leaky_relu(),
nn.Conv2D(10, 3, 1, 1, 0))
这个报 leaky_relu() missing 1 required positional argument: 'x'