123456789101112131415161718192021222324 |
- import sys
- import torch
- import types
- class _XNNPACKEnabled:
- def __get__(self, obj, objtype):
- return torch._C._is_xnnpack_enabled()
- def __set__(self, obj, val):
- raise RuntimeError("Assignment not supported")
- class XNNPACKEngine(types.ModuleType):
- def __init__(self, m, name):
- super().__init__(name)
- self.m = m
- def __getattr__(self, attr):
- return self.m.__getattribute__(attr)
- enabled = _XNNPACKEnabled()
- # This is the sys.modules replacement trick, see
- # https://stackoverflow.com/questions/2447353/getattr-on-a-module/7668273#7668273
- sys.modules[__name__] = XNNPACKEngine(sys.modules[__name__], __name__)
|