code: def transmute_model(
      model: nn.Module,
      target_device: str = "mobile_cpu",
      prefix: str = "",
  ):
      """
      Recursively goes through user input model and replace module in place with available
      equivalent efficientBlock for target device.
      Args:
          model (nn.Module): user input model to be transmuted
          target_device (str): name of target device, used to access transmuter list in
              EFFICIENT_BLOCK_TRANSMUTER_REGISTRY
          prefix (str): name of current hierarchy in user model
      """
      assert (
          target_device in EFFICIENT_BLOCK_TRANSMUTER_REGISTRY
      ), f"{target_device} not registered in EFFICIENT_BLOCK_TRANSMUTER_REGISTRY!"
      transmuter_list = EFFICIENT_BLOCK_TRANSMUTER_REGISTRY[
          target_device
      ]
      for name, child in model.named_children():
          equivalent_module = _find_equivalent_efficient_module(
              child, transmuter_list, module_name=f"{prefix}.{name}"
          )
          if equivalent_module is not None:
              model._modules[name] = equivalent_module
              logging.info(
                  f"Replacing {prefix}.{name} ({child.__class__.__name__}) with "
                  f"{equivalent_module.__class__.__name__}"
              )
          else:
              transmute_model(
                  child,
                  target_device=target_device,
                  prefix=f"{prefix}.{name}",
              )
  
imports: import logging
  from typing import List
  import torch.nn
label_desc: Use image node_id 2 for calling a global function with example usage: transmute_model(model, target_device, prefix) without return types