跳到内容

llmcompressor.pipelines.registry

CalibrationPipeline

Bases: ABC, RegistryMixin

方法

  • from_modifiers

    根据可用的修饰符推断应使用哪个校准管道,以及

from_modifiers classmethod

from_modifiers(
    modifiers: List[Modifier], user: Optional[str] = None
) -> CalibrationPipeline

根据可用的修饰符和用户进行的任何指定,推断应使用哪个校准管道

参数

  • 修饰符

    (List[Modifier]) –

    要应用于模型的修饰符

  • user

    (Optional[str], 默认值: None ) –

    用户传入的管道名称

返回

  • CalibrationPipeline

    要使用数据进行调用的CalibrationPipeline实例(如果不是无数据的话)

llmcompressor/pipelines/registry.py 中的源代码
@classmethod
def from_modifiers(
    cls, modifiers: List[Modifier], user: Optional[str] = None
) -> "CalibrationPipeline":
    """
    Infer which calibration pipeline to use based on the available modifiers and
    any user specifications

    :param modifiers: modifiers to apply to model
    :param user: pipeline name passed by user
    :return: CalibrationPipeline instance to be called with data (if not datafree)
    """
    user = standardize_lookup_name(user) if user else None
    inferred = standardize_lookup_name(cls._infer_pipeline(modifiers))
    independent = standardize_lookup_name("independent")

    if user == independent:
        inferred = independent

    if user is not None and user != inferred:
        logger.warning(
            f"Calibration pipeline is set to `{user}`, but it is recommended to "
            f"use `{inferred}`"
        )

    pipeline = user or inferred
    return cls.load_from_registry(pipeline)