code: def BN_convert_float(module):
      """
      Designed to work with network_to_half.
      BatchNorm layers need parameters in single precision.
      Find all layers and convert them back to float. This can't
      be done with built in .apply as that function will apply
      fn to all modules, parameters, and buffers. Thus we wouldn't
      be able to guard the float conversion based on the module type.
      """
      if isinstance(module, torch.nn.modules.batchnorm._BatchNorm):
          module.float()
      for child in module.children():
          BN_convert_float(child)
      return module
  
imports: import torch
  import torch.nn
  from torch._utils import _flatten_dense_tensors, _unflatten_dense_tensors
label_desc: Use image node_id 3 for calling a global function with example usage: BN_convert_float(module) and returns: module