code: def get_rng(obj=None):
      """
      Get a good RNG seeded with time, pid and the object.
  
      Args:
          obj: some object to use to generate random seed.
      Returns:
          np.random.RandomState: the RNG.
      """
      seed = (
          id(obj)
          + os.getpid()
          + int(datetime.now().strftime("%Y%m%d%H%M%S%f"))
      ) % 4294967295
      if _RNG_SEED is not None:
          seed = _RNG_SEED
      return np.random.RandomState(seed)
  
file_path: tensorpack/tensorpack/utils/utils.py
imports: import inspect
  import numpy
  import re
  import os
  import sys
  from contextlib import contextmanager
  from datetime import datetime, timedelta
  from tqdm import tqdm
  from .None import logger
  from .concurrency import subproc_call
label_desc: Use image node_id 4 for calling a global function with example usage: get_rng(obj) and returns: np