Files
gridbot/kronos-venv/lib/python3.12/site-packages/torch/_dynamo/hooks.py
T

27 lines
891 B
Python

"""Hook system for Dynamo's guard functionality.
This module provides a way to register callback functions that are triggered during
guard-related operations.
The Hooks class manages two types of hook functions:
- guard_export_fn: Called when guards need to be exported, taking a GuardsSet as input
- guard_fail_fn: Called when a guard check fails, taking a GuardFail object as input
These hooks enable customization of guard export and failure handling behaviors.
"""
import dataclasses
from collections.abc import Callable, Sequence
from torch._guards import GuardsSet
from .types import GuardFail, GuardFilterEntry
@dataclasses.dataclass
class Hooks:
guard_export_fn: Callable[[GuardsSet], None] | None = None
guard_fail_fn: Callable[[GuardFail], None] | None = None
guard_filter_fn: Callable[[Sequence[GuardFilterEntry]], Sequence[bool]] | None = (
None
)