code: def auto_file(filename: str, where: str = ".") -> str:
      """Get a full path to file using it's name.
      This function recisively search for matching filename in @where and returns single match.
      :param where:
      :param filename:
      :return:
      """
      if os.path.isabs(filename):
          return filename
  
      prob = os.path.join(where, filename)
      if os.path.exists(prob) and os.path.isfile(prob):
          return prob
  
      files = list(
          glob.iglob(
              os.path.join(where, "**", filename), recursive=True
          )
      )
      if len(files) == 0:
          raise FileNotFoundError(
              "Given file could not be found with recursive search:"
              + filename
          )
  
      if len(files) > 1:
          raise FileNotFoundError(
              "More than one file matches given filename. Please specify it explicitly:\n"
              + "\n".join(files)
          )
  
      return files[0]
  
file_path: pytorch-toolbelt/pytorch_toolbelt/utils/fs.py
imports: import glob
  import os
  from pathlib import Path
  from typing import Union, List, Iterable
  import cv2
  import numpy
label_desc: Use image node_id 11 for calling a global function with example usage: auto_file(filename, where) and returns: files, filename, prob