'Args:
input (InputSource or DataFlow): The :class:`InputSource` to run
inference on.  If given a DataFlow, will use :class:`FeedInput`.
infs (list): a list of :class:`Inferencer` instances.
tower_name (str): the name scope of the tower to build. Need to set a
different one if multiple InferenceRunner are used.'

def __init__(self, input, infs, tower_name='InferenceTower', extra_hooks=None):

    if isinstance(input, DataFlow):
        input = FeedInput(input, infinite=False)
    assert isinstance(input, InputSource), input
    self._tower_name = tower_name
    super(InferenceRunner, self).__init__(input, infs, extra_hooks=extra_hooks)
