code: def merge_fused_params(
      fused_params: Optional[Dict[str, Any]] = None,
      param_fused_params: Optional[Dict[str, Any]] = None,
  ) -> Dict[str, Any]:
      """
      Configure the fused_params including cache_precision if the value is not preset.
  
      Values set in table_level_fused_params take precidence over the global fused_params
  
      Args:
          fused_params (Optional[Dict[str, Any]]): the original fused_params
          grouped_fused_params
  
      Returns:
          [Dict[str, Any]]: a non-null configured fused_params dictionary to be
          used to configure the embedding lookup kernel
      """
  
      if fused_params is None:
          fused_params = {}
      if param_fused_params is None:
          param_fused_params = {}
      if "lr" in param_fused_params:
          param_fused_params["learning_rate"] = param_fused_params.pop(
              "lr"
          )
  
      _fused_params = copy.deepcopy(fused_params)
      _fused_params.update(param_fused_params)
      return _fused_params
  
imports: import copy
  import logging
  from collections import OrderedDict
  from itertools import accumulate
  from typing import Any, Dict, List, Optional, Set, Type, TypeVar, Union
  import torch
  from fbgemm_gpu.split_embedding_configs import EmbOptimType
  from torch import nn
  from torchrec import optim
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.types import DataType, ParameterSharding, ShardedModule, ShardingType
  from torchrec.modules.embedding_configs import data_type_to_sparse_type
  from torchrec.types import CopyMixIn
label_desc: Use image node_id 9 for calling a global function with example usage: merge_fused_params(fused_params, param_fused_params) and returns: _fused_params