def __init__(self, input, infs):
        """
        Args:
            input (InputSource): the input to use. Must have an accurate ``size()``.
            infs (list[Inferencer]): list of :class:`Inferencer` to run.
        """
        self._input_source = input
        if not isinstance(infs, list):
            self.infs = [infs]
        else:
            self.infs = infs
        for v in self.infs:
            assert isinstance(v, Inferencer), v

        try:
            self._size = input.size()
        except NotImplementedError:
            self._size = 0

        self._hooks = []

        Args:
            input (InputSource): the input to use. Must have an accurate ``size()``.
            infs (list[Inferencer]): list of :class:`Inferencer` to run.
        
tensorpack/callbacks/inference_runner.py