Spec-Zone.ru › PyTorch 2.14

torch.fx.experimental.unification.multipledispatch.core.dispatch

torch.fx.experimental.unification.multipledispatch.core.dispatch(*types, **kwargs) [source]

Функция диспетчеризации по типам входных данных. Поддерживает диспетчеризацию по всем аргументам, не являющимся именованными. Собирает реализации по имени функции. Игнорирует пространства имён. Если обнаруживаются неоднозначные сигнатуры типов, при определении функции выдаётся предупреждение с предложением добавить метод, устраняющий неоднозначность.

Пример

>>> @dispatch(int)
... def f(x):
...     return x + 1
>>> @dispatch(float)
... def f(x):
...     return x - 1
>>> f(3)
4
>>> f(3.0)
2.0
>>> # Specify an isolated namespace with the namespace keyword argument
>>> my_namespace = {}
>>> @dispatch(int, namespace=my_namespace)
... def foo(x):
...     return x + 1
>>> # Dispatch on instance methods within classes
>>> class MyClass(object):
...     @dispatch(list)
...     def __init__(self, data):
...         self.data = data
...
...     @dispatch(int)
...     def __init__(self, datum):
...         self.data = [datum]
>>> MyClass([1, 2, 3]).data
[1, 2, 3]
>>> MyClass(3).data
[3]
Возвращаемый тип:

Callable[[Callable[…, _T]], Callable[…, _T]]

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.fx.experimental.unification.multipledispatch.core.dispatch.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API