关于fc_layer默认激活函数的疑问
Created by: HugoLian
利用paddle做回归,最后一层的输出,demo上都是不带激活函数的。 但是我用模型最predict,最后的输出值域在(0,1) 在fc_layer的定义中:
def fc_layer(input,
size,
act=None,
name=None,
param_attr=None,
bias_attr=None,
layer_attr=None):
如果不设置act,那么程序对于act的定义是个None, 这样在该方法下面的配置中:
Layer(
inputs=[
Input(ipt.name, **attr.attr) for ipt, attr in zip(input, param_attr)
],
name=name,
type=LayerType.FC_LAYER,
size=size,
bias=ParamAttr.to_bias(bias_attr),
active_type=act.name,
**ExtraLayerAttribute.to_kwargs(layer_attr))
那么对于active_type=act.name,对一个None的对象取name, python不是会直接报错么? 为什么程序可以顺利运行呢? 另外fc_layer的说明中,说默认的激活函数是tanh,但是tanh是(-1 , 1)的,那么究竟如果不设置act,fc层是个什么机制输出啊?