code: def exp_refs_from_names(
      scm: "Git", exp_names: List[str]
  ) -> Set["ExpRefInfo"]:
      exp_ref_set = set()
      exp_ref_dict = resolve_name(scm, exp_names)
      unresolved_exp_names = []
      for exp_name, exp_ref in exp_ref_dict.items():
          if exp_ref is None:
              unresolved_exp_names.append(exp_name)
          else:
              exp_ref_set.add(exp_ref)
  
      if unresolved_exp_names:
          raise UnresolvedExpNamesError(unresolved_exp_names)
      return exp_ref_set
  
imports: from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Mapping, Optional, Set, Union
  from funcy import compact, group_by
  from scmrepo.git.backend.base import SyncStatus
  from dvc.env import DVC_STUDIO_TOKEN, DVC_STUDIO_URL
  from dvc.exceptions import DvcException
  from dvc.log import logger
  from dvc.repo import locked
  from dvc.repo.scm_context import scm_context
  from dvc.scm import Git, TqdmGit, iter_revs
  from dvc.utils import env2bool
  from dvc.utils.collections import ensure_list
  from .exceptions import UnresolvedExpNamesError
  from .refs import ExpRefInfo
  from .utils import exp_commits, exp_refs, exp_refs_by_baseline, resolve_name
label_desc: Use image node_id 2 for calling a global function with example usage: exp_refs_from_names(scm, exp_names) and returns: exp_ref_set