Spaces:
Sleeping
Sleeping
# Copyright (c) ONNX Project Contributors | |
# SPDX-License-Identifier: Apache-2.0 | |
import numpy as np | |
from onnx.reference.op_run import OpRun | |
class Concat(OpRun): | |
def _preprocess(self, a: np.ndarray, axis: int) -> np.ndarray: | |
if len(a.shape) == 0: | |
raise RuntimeError(f"Concat: one input has an empty shape: {a!r}.") | |
if axis >= len(a.shape): # type: ignore | |
new_shape = a.shape + (1,) * (axis + 1 - len(a.shape)) # type: ignore | |
return a.reshape(new_shape) | |
return a | |
def _run(self, *args, axis=None): # type: ignore | |
targs = tuple(self._preprocess(a, axis) for a in args) | |
return (np.concatenate(targs, axis),) # type: ignore | |