29 lines
834 B
Python
29 lines
834 B
Python
class LLaVABasePostProcessor:
|
|
"""Base post processor for LLaVA on MMBench."""
|
|
|
|
def __init__(self) -> None:
|
|
pass
|
|
|
|
def __call__(self, outputs: str, stop_str: str) -> str:
|
|
outputs = outputs.strip()
|
|
if outputs.endswith(stop_str):
|
|
outputs = outputs[:-len(stop_str)]
|
|
output_text = outputs.strip()
|
|
return output_text
|
|
|
|
|
|
class LLaVAVSRPostProcessor(LLaVABasePostProcessor):
|
|
"""VSR post processor for LLaVA on MMBench."""
|
|
|
|
def __init__(self) -> None:
|
|
super().__init__()
|
|
|
|
def __call__(self, outputs: str, stop_str: str) -> str:
|
|
output_text = super().__call__(outputs, stop_str)
|
|
if 'yes' in output_text.lower():
|
|
return 'yes'
|
|
elif 'no' in output_text.lower():
|
|
return 'no'
|
|
else:
|
|
return 'unknown'
|