code: def load_image_files(input_files: List[str]) -> np.ndarray:
      """Loads a set of images from disk.
  
      Parameters
      ----------
      input_files: List[str]
          List of image filenames.
  
      Returns
      -------
      np.ndarray
          A numpy array that contains loaded images. The shape is, `(N,...)`.
  
      Notes
      -----
      This method requires Pillow to be installed.
      The supported file types are PNG and TIF.
      """
      try:
          from PIL import Image
      except ModuleNotFoundError:
          raise ImportError(
              "This function requires Pillow to be installed."
          )
  
      images = []
      for input_file in input_files:
          _, extension = os.path.splitext(input_file)
          extension = extension.lower()
          if extension == ".png":
              image = np.array(Image.open(input_file))
              images.append(image)
          elif extension == ".tif":
              im = Image.open(input_file)
              imarray = np.array(im)
              images.append(imarray)
          else:
              raise ValueError(
                  "Unsupported image filetype for %s" % input_file
              )
      # dtype=object allows for arrays(images here) of arbitrary size
      try:
          return np.array(images)
      except:
          return np.array(images, dtype=object)
  
imports: import joblib
  import gzip
  import pickle
  import os
  import tempfile
  import tarfile
  import zipfile
  import logging
  from urllib.request import urlretrieve
  from typing import Any, Iterator, List, Optional, Tuple, Union, cast, IO
  import pandas
  import numpy
  import deepchem
label_desc: Use image node_id 6 for calling a global function with example usage: load_image_files(input_files) and returns: np, np