code: def get_array_module(*args):
      """Gets an appropriate NumPy-compatible module to process arguments
  
      This function will return their data arrays' array module for
      :class:`~chainer.Variable` arguments.
  
      Args:
          args: Values to determine whether NumPy, CuPy, or ChainerX should be
              used.
  
      Returns:
          module: :mod:`numpy`, :mod:`cupy`, or :mod:`chainerx` is returned based
          on the types of the arguments.
  
      """
      is_chainerx_available = chainerx.is_available()
      if is_chainerx_available or cuda.available:
          arrays = []
          for arg in args:
              # Unwrap arrays
              if isinstance(arg, chainer.variable.Variable):
                  array = arg.data
              else:
                  array = arg
              if is_chainerx_available and isinstance(
                  array, chainerx.ndarray
              ):
                  return chainerx
              arrays.append(array)
          if cuda.available:
              return cuda.cupy.get_array_module(*arrays)
      return numpy
  
imports: import numpy
  import six
  import chainer
  from chainer.backends import _chainerx
  from chainer.backends import _cpu
  from chainer.backends import cuda
  from chainer.backends import intel64
  import chainerx
  from chainer._backend import Device
  from chainer.backends._chainerx import ChainerxDevice
  from chainer.backends._chainerx import from_chx
  from chainer.backends._chainerx import to_chx
  from chainer.backends._cpu import CpuDevice
  from chainer.backends.cuda import GpuDevice
  from chainer.backends.intel64 import Intel64Device
  from chainer import types
label_desc: Use image node_id 7 for calling a global function with example usage: get_array_module() and returns: numpy, cuda, chainerx