@templatedoc()
def box_decoder_and_assign(prior_box, prior_box_var, target_box, box_score, box_clip, name=None):
    "\n\t:alias_main: paddle.nn.functional.box_decoder_and_assign\n\t:alias: paddle.nn.functional.box_decoder_and_assign,paddle.nn.functional.vision.box_decoder_and_assign\n\t:old_api: paddle.fluid.layers.box_decoder_and_assign\n\t\n    ${comment}\n    Args:\n        prior_box(${prior_box_type}): ${prior_box_comment}\n        prior_box_var(${prior_box_var_type}): ${prior_box_var_comment}\n        target_box(${target_box_type}): ${target_box_comment}\n        box_score(${box_score_type}): ${box_score_comment}\n        box_clip(${box_clip_type}): ${box_clip_comment}\n        name(str, optional): For detailed information, please refer \n            to :ref:`api_guide_Name`. Usually name is no need to set and \n            None by default. \n\n    Returns:\n        Tuple:\n\n        decode_box(${decode_box_type}): ${decode_box_comment}\n\n        output_assign_box(${output_assign_box_type}): ${output_assign_box_comment}\n\n\n    Examples:\n        .. code-block:: python\n\n            import paddle.fluid as fluid\n            pb = fluid.data(\n                name='prior_box', shape=[None, 4], dtype='float32')\n            pbv = fluid.data(\n                name='prior_box_var', shape=[4], dtype='float32')\n            loc = fluid.data(\n                name='target_box', shape=[None, 4*81], dtype='float32')\n            scores = fluid.data(\n                name='scores', shape=[None, 81], dtype='float32')\n            decoded_box, output_assign_box = fluid.layers.box_decoder_and_assign(\n                pb, pbv, loc, scores, 4.135)\n\n    "
    check_variable_and_dtype(prior_box, 'prior_box', ['float32', 'float64'], 'box_decoder_and_assign')
    check_variable_and_dtype(target_box, 'target_box', ['float32', 'float64'], 'box_decoder_and_assign')
    check_variable_and_dtype(box_score, 'box_score', ['float32', 'float64'], 'box_decoder_and_assign')
    helper = LayerHelper('box_decoder_and_assign', **locals())
    decoded_box = helper.create_variable_for_type_inference(dtype=prior_box.dtype)
    output_assign_box = helper.create_variable_for_type_inference(dtype=prior_box.dtype)
    helper.append_op(type='box_decoder_and_assign', inputs={'PriorBox': prior_box, 'PriorBoxVar': prior_box_var, 'TargetBox': target_box, 'BoxScore': box_score}, attrs={'box_clip': box_clip}, outputs={'DecodeBox': decoded_box, 'OutputAssignBox': output_assign_box})
    return (decoded_box, output_assign_box)
:alias_main: paddle.nn.functional.box_decoder_and_assign
    :alias: paddle.nn.functional.box_decoder_and_assign,paddle.nn.functional.vision.box_decoder_and_assign
    :old_api: paddle.fluid.layers.box_decoder_and_assign
    
${comment}
Args:
    prior_box(${prior_box_type}): ${prior_box_comment}
    prior_box_var(${prior_box_var_type}): ${prior_box_var_comment}
    target_box(${target_box_type}): ${target_box_comment}
    box_score(${box_score_type}): ${box_score_comment}
    box_clip(${box_clip_type}): ${box_clip_comment}
    name(str, optional): For detailed information, please refer 
        to :ref:`api_guide_Name`. Usually name is no need to set and 
        None by default. 

Returns:
    Tuple:

    decode_box(${decode_box_type}): ${decode_box_comment}

    output_assign_box(${output_assign_box_type}): ${output_assign_box_comment}


Examples:
    .. code-block:: python

        import paddle.fluid as fluid
        pb = fluid.data(
            name='prior_box', shape=[None, 4], dtype='float32')
        pbv = fluid.data(
            name='prior_box_var', shape=[4], dtype='float32')
        loc = fluid.data(
            name='target_box', shape=[None, 4*81], dtype='float32')
        scores = fluid.data(
            name='scores', shape=[None, 81], dtype='float32')
        decoded_box, output_assign_box = fluid.layers.box_decoder_and_assign(
            pb, pbv, loc, scores, 4.135)
@templatedoc()
def box_decoder_and_assign(prior_box, prior_box_var, target_box, box_score, box_clip, name=None):
    "\n\t:alias_main: paddle.nn.functional.box_decoder_and_assign\n\t:alias: paddle.nn.functional.box_decoder_and_assign,paddle.nn.functional.vision.box_decoder_and_assign\n\t:old_api: paddle.fluid.layers.box_decoder_and_assign\n\t\n    ${comment}\n    Args:\n        prior_box(${prior_box_type}): ${prior_box_comment}\n        prior_box_var(${prior_box_var_type}): ${prior_box_var_comment}\n        target_box(${target_box_type}): ${target_box_comment}\n        box_score(${box_score_type}): ${box_score_comment}\n        box_clip(${box_clip_type}): ${box_clip_comment}\n        name(str, optional): For detailed information, please refer \n            to :ref:`api_guide_Name`. Usually name is no need to set and \n            None by default. \n\n    Returns:\n        Tuple:\n\n        decode_box(${decode_box_type}): ${decode_box_comment}\n\n        output_assign_box(${output_assign_box_type}): ${output_assign_box_comment}\n\n\n    Examples:\n        .. code-block:: python\n\n            import paddle.fluid as fluid\n            pb = fluid.data(\n                name='prior_box', shape=[None, 4], dtype='float32')\n            pbv = fluid.data(\n                name='prior_box_var', shape=[4], dtype='float32')\n            loc = fluid.data(\n                name='target_box', shape=[None, 4*81], dtype='float32')\n            scores = fluid.data(\n                name='scores', shape=[None, 81], dtype='float32')\n            decoded_box, output_assign_box = fluid.layers.box_decoder_and_assign(\n                pb, pbv, loc, scores, 4.135)\n\n    "
    check_variable_and_dtype(prior_box, 'prior_box', ['float32', 'float64'], 'box_decoder_and_assign')
    check_variable_and_dtype(target_box, 'target_box', ['float32', 'float64'], 'box_decoder_and_assign')
    check_variable_and_dtype(box_score, 'box_score', ['float32', 'float64'], 'box_decoder_and_assign')
    helper = LayerHelper('box_decoder_and_assign', **locals())
    decoded_box = helper.create_variable_for_type_inference(dtype=prior_box.dtype)
    output_assign_box = helper.create_variable_for_type_inference(dtype=prior_box.dtype)
    helper.append_op(type='box_decoder_and_assign', inputs={'PriorBox': prior_box, 'PriorBoxVar': prior_box_var, 'TargetBox': target_box, 'BoxScore': box_score}, attrs={'box_clip': box_clip}, outputs={'DecodeBox': decoded_box, 'OutputAssignBox': output_assign_box})
    return (decoded_box, output_assign_box)