class_docstr: Base class for dataset predictors.
  These are predictors which run over a :class:`DataFlow`.
class_docstr_tok: ["Base","class","for","dataset","predictors",".","These","are","predictors","which","run","over","a",":","class",":","`","DataFlow","`","."]
docstr: Args:
      config (PredictConfig): the config of predictor.
      dataset (DataFlow): the DataFlow to run on.
docstr_tok: ["Args",":","config","(","PredictConfig",")",":","the","config","of","predictor",".","dataset","(","DataFlow",")",":","the","DataFlow","to","run","on","."]
code: def __init__(self, config, dataset):
      """
      Args:
          config (PredictConfig): the config of predictor.
          dataset (DataFlow): the DataFlow to run on.
      """
      assert isinstance(dataset, DataFlow)
      assert isinstance(config, PredictConfig)
      self.config = config
      self.dataset = dataset
  
imports: import multiprocessing
  import os
  from abc import ABCMeta, abstractmethod
  import six
  from ..dataflow import DataFlow
  from ..dataflow.remote import dump_dataflow_to_process_queue
  from ..utils import logger
  from ..utils.develop import HIDE_DOC
  from ..utils.concurrency import DIE, OrderedResultGatherProc, ensure_proc_terminate
  from ..utils.gpu import change_gpu, get_num_gpu
  from ..utils.utils import get_tqdm
  from .base import OfflinePredictor
  from .concurrency import MultiProcessQueuePredictWorker
  from .config import PredictConfig
label_desc: Use image node_id 1 to create a new DatasetPredictorBase object from inherited base classes: object with example: obj = DatasetPredictorBase(config, dataset)