code: def _get_unsharded_module_names_helper(
      model: torch.nn.Module,
      path: str,
      unsharded_module_names: Set[str],
  ) -> bool:
      sharded_children = set()
      for name, child in model.named_children():
          curr_path = path + name
          if isinstance(child, ShardedModule):
              sharded_children.add(name)
          else:
              child_sharded = _get_unsharded_module_names_helper(
                  child,
                  curr_path + ".",
                  unsharded_module_names,
              )
              if child_sharded:
                  sharded_children.add(name)
  
      if len(sharded_children) > 0:
          for name, _ in model.named_children():
              if name not in sharded_children:
                  unsharded_module_names.add(path + name)
  
      return len(sharded_children) > 0
  
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 5 for calling a global function with example usage: _get_unsharded_module_names_helper(model, path, unsharded_module_names) and returns: unknown