from typing import Iterable, List, Sequence
from ..core._imperative_rt.core2 import apply
from ..core.ops import builtin
def extern_opr_subgraph(
inputs, output_shapes: List[tuple], dump_name: str, dump_data: bytes, output_dtypes
):
if not isinstance(inputs, Iterable):
inputs = (inputs,)
op = builtin.ExternOpr(
output_shapes, dump_name, dump_data, len(dump_data), output_dtypes
)
return apply(op, *inputs)
def tensorrt_runtime_opr(inputs, *, data: bytes = None):
if data is None:
return None
op = builtin.TensorRTRuntime(data, len(data))
return apply(op, *inputs)
def cambricon_runtime_opr(inputs, data, symbol, tensor_dim_mutable):
op = builtin.CambriconRuntime(data, len(data), symbol, tensor_dim_mutable)
return apply(op, *inputs)
def atlas_runtime_opr(inputs, data):
op = builtin.AtlasRuntime(data, len(data))
return apply(op, *inputs)
def magicmind_runtime_opr(inputs, data):
op = builtin.MagicMindRuntime(data, len(data))
return apply(op, *inputs)