code: def default_module_loader(pre_load_function=None):
      """Returns a default function that can be passed as module_loader to run_through_rpc.
  
      Parameters
      ----------
      pre_load_function : Optional[Function[tvm.rpc.Session, tvm.runtime.Module]]
          Invoked after a session is established and before the default code-loading RPC calls are
          issued. Allows performing pre-upload actions, e.g. resetting the remote runtime environment.
  
      Returns
      -------
      DefaultModuleLoader :
          A callable that can be passed as module_loader to run_through_rpc.
      """
  
      # This was a function with a closure before but that couldn't be pickled!
      # We need pickle to work for using python's multiprocessing on some platforms.
      return DefaultModuleLoader(pre_load_function)
  
imports: import contextlib
  import logging
  import os
  import shutil
  import tempfile
  import threading
  import time
  import traceback
  import typing
  import warnings
  from collections import namedtuple
  from random import getrandbits
  import tvm._ffi
  import tvm.ir.transform
  from tvm import nd
  from tvm import rpc
  from tvm.autotvm.env import AutotvmGlobalScope, reset_global_scope
  from tvm.contrib import ndk, stackvm, tar
  from tvm.contrib.popen_pool import PopenPoolExecutor
  from tvm.driver import build
  from tvm.error import TVMError
  from tvm.target import Target
  from ..env import AutotvmGlobalScope
  from ..task.space import InstantiationError
  from ..utils import get_const_tuple
  from .measure import Builder, MeasureErrorNo, MeasureResult, Runner
label_desc: Use image node_id 3 for calling a global function with example usage: default_module_loader(pre_load_function) and returns: DefaultModuleLoader