code: def dynamic_gru(
      size,
      param_attr=None,
      bias_attr=None,
      is_reverse=False,
      gate_activation="sigmoid",
      candidate_activation="tanh",
      origin_mode=False,
      name=None,
  ):
      """
      Return a function that creates a paddle.fluid.layers.dynamic_gru.
      """
      default_name = "dynamic_gru"
      param_attr = update_attr_name(
          name, default_name, param_attr, False
      )
      bias_attr = update_attr_name(name, default_name, bias_attr, True)
  
      class DynamicGru_(LayerFunc):
          def __init__(self):
              super(DynamicGru_, self).__init__(
                  AttrHolder(param_attr=param_attr, bias_attr=bias_attr)
              )
  
          def __call__(self, input, h_0=None):
              return layers.dynamic_gru(
                  input=input,
                  size=size,
                  param_attr=self.attr_holder.param_attr,
                  bias_attr=self.attr_holder.bias_attr,
                  is_reverse=is_reverse,
                  gate_activation=gate_activation,
                  candidate_activation=candidate_activation,
                  h_0=h_0,
                  origin_mode=origin_mode,
              )
  
      return DynamicGru_()
  
imports: import inspect
  import paddle.fluid.layers
  import paddle.fluid.unique_name
  import paddle.fluid
  import six
  from copy import deepcopy
  from paddle.fluid.executor import _fetch_var
  from paddle.fluid.framework import Variable
  from paddle.fluid.layers import *
  from paddle.fluid.param_attr import ParamAttr
  from parl.core.fluid.layers.attr_holder import AttrHolder
  from parl.utils import get_fluid_version
label_desc: Use image node_id 7 for calling a global function with example usage: dynamic_gru(size, param_attr, bias_attr, is_reverse, gate_activation, candidate_activation, origin_mode, name) and returns: DynamicGru_, layers