Files
2024-10-30 22:14:35 +01:00

22 lines
646 B
Python

# Copyright (c) ONNX Project Contributors
# SPDX-License-Identifier: Apache-2.0
from __future__ import annotations
import numpy as np
from onnx.reference.op_run import OpRun
class Einsum(OpRun):
def _run(self, *args, equation=None): # type: ignore
if not isinstance(equation, str):
raise TypeError(f"equation must be string but is {type(equation)!r}.")
equation = equation.strip()
if not equation:
raise TypeError("equation is empty.")
try:
return (np.einsum(equation, *args, optimize=True),)
except TypeError:
return (np.einsum(equation, *args),)