Files
2026-07-13 12:31:40 +08:00

35 lines
1.0 KiB
Python

from __future__ import annotations
from typing import TYPE_CHECKING
from ..utils import PTQMethod
from .awq import AWQEvaluator
from .gptq import GPTQEvaluator
from .high_precision import HighPrecisionEvaluator
from .rtn import RTNEvaluator
from .smoothquant import SmoothQuantEvaluator
from .spinquant import SpinQuantEvaluator
if TYPE_CHECKING:
from .evaluator import PTQEvaluator
def get_evaluator(ptq_method: PTQMethod) -> type[PTQEvaluator]:
"""Get the evaluator class for the given PTQ method."""
if ptq_method == PTQMethod.awq:
return AWQEvaluator
if ptq_method == PTQMethod.gptq:
return GPTQEvaluator
if ptq_method == PTQMethod.high_precision:
return HighPrecisionEvaluator
if ptq_method == PTQMethod.rtn:
return RTNEvaluator
if ptq_method == PTQMethod.smoothquant:
return SmoothQuantEvaluator
if ptq_method == PTQMethod.spinquant:
return SpinQuantEvaluator
msg = f"Unsupported PTQ method: {ptq_method}"
raise ValueError(msg)