def run_node(onnx_node, data_inputs, **kwargs): # type: (onnx.NodeProto, List[np.ndarray], Dict[Text, Any]) -> List[np.ndarray] """ Convert ONNX node to ngraph node and perform computation on input data. :param onnx_node: ONNX NodeProto describing a computation node :param data_inputs: list of numpy ndarrays with input data :return: list of numpy ndarrays with computed output """ NgraphBackend.backend_name = pytest.config.getoption('backend', default='CPU') if NgraphBackend.supports_ngraph_device(NgraphBackend.backend_name): return NgraphBackend.run_node(onnx_node, data_inputs, **kwargs) else: raise RuntimeError('The requested nGraph backend <' + NgraphBackend.backend_name + '> is not supported!')
def test_run_node(): input_data = _get_input_data([2, 3, 4, 5]) node = onnx.helper.make_node('Abs', inputs=['x'], outputs=['y']) ng_results = NgraphBackend.run_node(node, input_data) expected = np.abs(input_data) assert np.array_equal(ng_results, expected)