def test_onnxt_runtime_argmin(self): X = numpy.array([[2, 1], [0, 1]], dtype=float) onx = OnnxArgMin('X', output_names=['Y'], keepdims=0) model_def = onx.to_onnx({'X': X.astype(numpy.float32)}) oinf = OnnxInference(model_def) got = oinf.run({'X': X}) self.assertEqual(list(sorted(got)), ['Y']) self.assertEqualArray(numpy.argmin(X, axis=0), got['Y'], decimal=6) onx = OnnxArgMin('X', output_names=['Y'], axis=1, keepdims=0) model_def = onx.to_onnx({'X': X.astype(numpy.float32)}) oinf = OnnxInference(model_def) got = oinf.run({'X': X}) self.assertEqual(list(sorted(got)), ['Y']) self.assertEqualArray( numpy.argmin(X, axis=1).ravel(), got['Y'].ravel()) onx = OnnxArgMin('X', output_names=['Y'], axis=1, keepdims=1) model_def = onx.to_onnx({'X': X.astype(numpy.float32)}) oinf = OnnxInference(model_def) got = oinf.run({'X': X}) self.assertEqual(list(sorted(got)), ['Y']) self.assertEqualArray( numpy.argmin(X, axis=1).ravel(), got['Y'].ravel())
def test_algebra_argmin(self): op = OnnxArgMin('I0', op_version=TARGET_OPSET) onx = op.to_onnx({'I0': numpy.ones((1, 2), dtype=numpy.float32)}) assert onx is not None sonx = str(onx) assert len(sonx) > 0 import onnxruntime as ort sess = ort.InferenceSession(onx.SerializeToString()) X = numpy.array([[0, 2], [0, -2]]) exp = numpy.array([[0, 1]]) Y = sess.run(None, {'I0': X.astype(numpy.float32)})[0] assert_almost_equal(exp, Y)
def test_algebra_normalizer_argmin_named_output(self): op = OnnxArgMin(OnnxNormalizer('I0', norm='L1', output_names=['Y'])) onx = op.to_onnx({'I0': numpy.ones((1, 2), dtype=numpy.float32)}) assert onx is not None sonx = str(onx) assert len(sonx) > 0 import onnxruntime as ort sess = ort.InferenceSession(onx.SerializeToString()) X = numpy.array([[0, 2], [0, -2]]) exp = numpy.array([[0, 1]]) Y = sess.run(None, {'I0': X.astype(numpy.float32)})[0] assert_almost_equal(exp, Y)