1# SPDX-License-Identifier: Apache-2.0 2 3from __future__ import absolute_import 4from __future__ import division 5from __future__ import print_function 6from __future__ import unicode_literals 7 8import numpy as np # type: ignore 9 10import onnx 11from ..base import Base 12from . import expect 13from typing import Sequence 14 15 16class SingleSign(Base): 17 18 @staticmethod 19 def export(): # type: () -> None 20 node = onnx.helper.make_node( 21 'Sign', ['x'], ['y'], name='test') 22 23 x = np.array([-1.0, 4.5, -4.5, 3.1, 0.0, 2.4, -5.5]).astype(np.float32) 24 y = np.array([-1.0, 1.0, -1.0, 1.0, 0.0, 1.0, -1.0]).astype(np.float32) 25 26 graph = onnx.helper.make_graph( 27 nodes=[node], 28 name='SingleSign', 29 inputs=[onnx.helper.make_tensor_value_info('x', 30 onnx.TensorProto.FLOAT, 31 [7])], 32 outputs=[onnx.helper.make_tensor_value_info('y', 33 onnx.TensorProto.FLOAT, 34 [7])]) 35 model = onnx.helper.make_model(graph, producer_name='backend-test') 36 expect(model, inputs=[x], outputs=[y], 37 name='test_sign_model') 38