Это определяет тензорные операции для 0.3.1 (оно также содержит определения других операторов): https://pytorch.org/docs/0.3.1/_modules/torch/tensor.html
Код для текущей стабильной версии был переставлен (я думаю, они делают больше в Cсейчас), но так как поведение умножения матриц не изменилось, я думаю, что будет разумно предположить, что это все еще верно.
См. определение __matmul__
:
def __matmul__(self, other):
if not torch.is_tensor(other):
return NotImplemented
return self.matmul(other)
и
def matmul(self, other):
r"""Matrix product of two tensors.
See :func:`torch.matmul`."""
return torch.matmul(self, other)
Оператор @
был представлен с PEP 465 и сопоставлен с __matmul__
.
См. Также здесь для этого:
Для чего используется символ '@ =' в Python?