code: def init_parameters(module: nn.Module, device: torch.device) -> None:
      with torch.no_grad():
          has_meta_param = any(t.is_meta for t in module.parameters())
          if has_meta_param:
              module.to_empty(device=device)
  
              def maybe_reset_parameters(m: nn.Module) -> None:
                  if hasattr(m, "reset_parameters"):
                      m.reset_parameters()
  
              module.apply(maybe_reset_parameters)
  
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 12 for calling a global function with example usage: init_parameters(module, device) without return types