code: def build_kernel_generate_head(kwargs):
      support_heads = ["UPerKernelHead", "FCNKernelHead"]
      head_layer = kwargs.pop("head_layer")
      assert (
          head_layer in support_heads
      ), f"head layer {head_layer} not supported"
      if head_layer == "UPerKernelHead":
          return UPerKernelHead(**kwargs)
      if head_layer == "FCNKernelHead":
          return FCNKernelHead(**kwargs)
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg import utils
  from paddleseg.cvlibs import manager
  from paddleseg.models import layers
  from .upernet import UPerNetHead
label_desc: Use image node_id 1 for calling a global function with example usage: build_kernel_generate_head(kwargs) and returns: UPerKernelHead, FCNKernelHead