@wrap_name_default('sequence_conv_pooling')
def sequence_conv_pool(input, context_len, hidden_size, name=None, context_start=None, pool_type=None, context_proj_layer_name=None, context_proj_param_attr=False, fc_layer_name=None, fc_param_attr=None, fc_bias_attr=None, fc_act=None, pool_bias_attr=None, fc_attr=None, context_attr=None, pool_attr=None):
    "\n    Text convolution pooling group.\n\n    Text input => Context Projection => FC Layer => Pooling => Output.\n\n    :param name: group name.\n    :type name: basestring\n    :param input: input layer.\n    :type input: LayerOutput\n    :param context_len: context projection length. See\n                        context_projection's document.\n    :type context_len: int\n    :param hidden_size: FC Layer size.\n    :type hidden_size: int\n    :param context_start: context start position. See\n                          context_projection's context_start.\n    :type context_start: int|None\n    :param pool_type: pooling layer type. See pooling_layer's document.\n    :type pool_type: BasePoolingType\n    :param context_proj_layer_name: context projection layer name.\n                                    None if user don't care.\n    :type context_proj_layer_name: basestring\n    :param context_proj_param_attr: padding parameter attribute of context projection layer.\n                                    If false, it means padding always be zero.\n    :type context_proj_param_attr: ParameterAttribute|None\n    :param fc_layer_name: fc layer name. None if user don't care.\n    :type fc_layer_name: basestring\n    :param fc_param_attr: fc layer parameter attribute. None if user don't care.\n    :type fc_param_attr: ParameterAttribute|None\n    :param fc_bias_attr: fc bias parameter attribute. False if no bias,\n                         None if user don't care.\n    :type fc_bias_attr: ParameterAttribute|False|None\n    :param fc_act: fc layer activation type. None means tanh.\n    :type fc_act: BaseActivation\n    :param pool_bias_attr: pooling layer bias attr. False if no bias.\n                           None if user don't care.\n    :type pool_bias_attr: ParameterAttribute|False|None\n    :param fc_attr: fc layer extra attribute.\n    :type fc_attr: ExtraLayerAttribute\n    :param context_attr: context projection layer extra attribute.\n    :type context_attr: ExtraLayerAttribute\n    :param pool_attr: pooling layer extra attribute.\n    :type pool_attr: ExtraLayerAttribute\n    :return: layer's output.\n    :rtype: LayerOutput\n    "
    context_proj_layer_name = (('%s_conv_proj' % name) if (context_proj_layer_name is None) else context_proj_layer_name)
    with mixed_layer(name=context_proj_layer_name, size=(input.size * context_len), act=LinearActivation(), layer_attr=context_attr) as m:
        m += context_projection(input, context_len=context_len, context_start=context_start, padding_attr=context_proj_param_attr)
    fc_layer_name = (('%s_conv_fc' % name) if (fc_layer_name is None) else fc_layer_name)
    fl = fc_layer(name=fc_layer_name, input=m, size=hidden_size, act=fc_act, layer_attr=fc_attr, param_attr=fc_param_attr, bias_attr=fc_bias_attr)
    return pooling_layer(name=name, input=fl, pooling_type=pool_type, bias_attr=pool_bias_attr, layer_attr=pool_attr)
4a9edbc04c91f484f71a6156af2c31d0840f11eb
<mask token>

@wrap_name_default('sequence_conv_pooling')
def sequence_conv_pool(input, context_len, hidden_size, name=None,
    context_start=None, pool_type=None, context_proj_layer_name=None,
    context_proj_param_attr=False, fc_layer_name=None, fc_param_attr=None,
    fc_bias_attr=None, fc_act=None, pool_bias_attr=None, fc_attr=None,
    context_attr=None, pool_attr=None):
    """
    Text convolution pooling group.

    Text input => Context Projection => FC Layer => Pooling => Output.

    :param name: group name.
    :type name: basestring
    :param input: input layer.
    :type input: LayerOutput
    :param context_len: context projection length. See
                        context_projection's document.
    :type context_len: int
    :param hidden_size: FC Layer size.
    :type hidden_size: int
    :param context_start: context start position. See
                          context_projection's context_start.
    :type context_start: int|None
    :param pool_type: pooling layer type. See pooling_layer's document.
    :type pool_type: BasePoolingType
    :param context_proj_layer_name: context projection layer name.
                                    None if user don't care.
    :type context_proj_layer_name: basestring
    :param context_proj_param_attr: padding parameter attribute of context projection layer.
                                    If false, it means padding always be zero.
    :type context_proj_param_attr: ParameterAttribute|None
    :param fc_layer_name: fc layer name. None if user don't care.
    :type fc_layer_name: basestring
    :param fc_param_attr: fc layer parameter attribute. None if user don't care.
    :type fc_param_attr: ParameterAttribute|None
    :param fc_bias_attr: fc bias parameter attribute. False if no bias,
                         None if user don't care.
    :type fc_bias_attr: ParameterAttribute|False|None
    :param fc_act: fc layer activation type. None means tanh.
    :type fc_act: BaseActivation
    :param pool_bias_attr: pooling layer bias attr. False if no bias.
                           None if user don't care.
    :type pool_bias_attr: ParameterAttribute|False|None
    :param fc_attr: fc layer extra attribute.
    :type fc_attr: ExtraLayerAttribute
    :param context_attr: context projection layer extra attribute.
    :type context_attr: ExtraLayerAttribute
    :param pool_attr: pooling layer extra attribute.
    :type pool_attr: ExtraLayerAttribute
    :return: layer's output.
    :rtype: LayerOutput
    """
    context_proj_layer_name = ('%s_conv_proj' % name if 
        context_proj_layer_name is None else context_proj_layer_name)
    with mixed_layer(name=context_proj_layer_name, size=input.size *
        context_len, act=LinearActivation(), layer_attr=context_attr) as m:
        m += context_projection(input, context_len=context_len,
            context_start=context_start, padding_attr=context_proj_param_attr)
    fc_layer_name = ('%s_conv_fc' % name if fc_layer_name is None else
        fc_layer_name)
    fl = fc_layer(name=fc_layer_name, input=m, size=hidden_size, act=fc_act,
        layer_attr=fc_attr, param_attr=fc_param_attr, bias_attr=fc_bias_attr)
    return pooling_layer(name=name, input=fl, pooling_type=pool_type,
        bias_attr=pool_bias_attr, layer_attr=pool_attr)

@wrap_name_default('sequence_conv_pooling')
def sequence_conv_pool(input, context_len, hidden_size, name=None, context_start=None, pool_type=None, context_proj_layer_name=None, context_proj_param_attr=False, fc_layer_name=None, fc_param_attr=None, fc_bias_attr=None, fc_act=None, pool_bias_attr=None, fc_attr=None, context_attr=None, pool_attr=None):
    "\n    Text convolution pooling group.\n\n    Text input => Context Projection => FC Layer => Pooling => Output.\n\n    :param name: group name.\n    :type name: basestring\n    :param input: input layer.\n    :type input: LayerOutput\n    :param context_len: context projection length. See\n                        context_projection's document.\n    :type context_len: int\n    :param hidden_size: FC Layer size.\n    :type hidden_size: int\n    :param context_start: context start position. See\n                          context_projection's context_start.\n    :type context_start: int|None\n    :param pool_type: pooling layer type. See pooling_layer's document.\n    :type pool_type: BasePoolingType\n    :param context_proj_layer_name: context projection layer name.\n                                    None if user don't care.\n    :type context_proj_layer_name: basestring\n    :param context_proj_param_attr: padding parameter attribute of context projection layer.\n                                    If false, it means padding always be zero.\n    :type context_proj_param_attr: ParameterAttribute|None\n    :param fc_layer_name: fc layer name. None if user don't care.\n    :type fc_layer_name: basestring\n    :param fc_param_attr: fc layer parameter attribute. None if user don't care.\n    :type fc_param_attr: ParameterAttribute|None\n    :param fc_bias_attr: fc bias parameter attribute. False if no bias,\n                         None if user don't care.\n    :type fc_bias_attr: ParameterAttribute|False|None\n    :param fc_act: fc layer activation type. None means tanh.\n    :type fc_act: BaseActivation\n    :param pool_bias_attr: pooling layer bias attr. False if no bias.\n                           None if user don't care.\n    :type pool_bias_attr: ParameterAttribute|False|None\n    :param fc_attr: fc layer extra attribute.\n    :type fc_attr: ExtraLayerAttribute\n    :param context_attr: context projection layer extra attribute.\n    :type context_attr: ExtraLayerAttribute\n    :param pool_attr: pooling layer extra attribute.\n    :type pool_attr: ExtraLayerAttribute\n    :return: layer's output.\n    :rtype: LayerOutput\n    "
    context_proj_layer_name = (('%s_conv_proj' % name) if (context_proj_layer_name is None) else context_proj_layer_name)
    with mixed_layer(name=context_proj_layer_name, size=(input.size * context_len), act=LinearActivation(), layer_attr=context_attr) as m:
        m += context_projection(input, context_len=context_len, context_start=context_start, padding_attr=context_proj_param_attr)
    fc_layer_name = (('%s_conv_fc' % name) if (fc_layer_name is None) else fc_layer_name)
    fl = fc_layer(name=fc_layer_name, input=m, size=hidden_size, act=fc_act, layer_attr=fc_attr, param_attr=fc_param_attr, bias_attr=fc_bias_attr)
    return pooling_layer(name=name, input=fl, pooling_type=pool_type, bias_attr=pool_bias_attr, layer_attr=pool_attr)