Coverage for mlprodict/onnxrt/ops_cpu/op_det.py: 100%
13 statements
« prev ^ index » next coverage.py v7.1.0, created at 2023-02-04 02:28 +0100
« prev ^ index » next coverage.py v7.1.0, created at 2023-02-04 02:28 +0100
1# -*- encoding: utf-8 -*-
2# pylint: disable=E0203,E1101,C0111
3"""
4@file
5@brief Runtime operator.
6"""
7import numpy
8from ._op import OpRun
11class Det(OpRun):
13 def __init__(self, onnx_node, desc=None, **options):
14 OpRun.__init__(self, onnx_node, desc=desc,
15 **options)
17 def _run(self, x, attributes=None, verbose=0, fLOG=None): # pylint: disable=W0221
18 res = numpy.linalg.det(x)
19 if not isinstance(res, numpy.ndarray):
20 res = numpy.array([res])
21 return (res, )
23 def to_python(self, inputs):
24 return ('from numpy.linalg import det as npy_det',
25 "\n".join([
26 f"res = npy_det({inputs[0]})",
27 "if not isinstance(res, ndarray):",
28 " res = numpy.array([res])",
29 "return res"]))