初始化在大部分情况下可以直接调用基类MultimodalPARunner的初始化完成,子类仅需要完成相应属性或方法的初始化。
以InternVL2.5示例如下:
1 2 3 4 5 6 7 | class InternvlRunner(MultimodalPARunner): def __init__(self, **kwargs): super().__init__(**kwargs) self.pred_file = PRED_FILE def init_processor(self): self.processor = self.model.tokenizer |
模型warm_up过程是直接使用输入的第一组参数进行推理,如无定制参数,则warm_up方法无需重写。