Пример #1
0
def test_ngraph_function_api():
    shape = [2, 2]
    parameter_a = ng.parameter(shape, dtype=np.float32, name="A")
    parameter_b = ng.parameter(shape, dtype=np.float32, name="B")
    parameter_c = ng.parameter(shape, dtype=np.float32, name="C")
    model = (parameter_a + parameter_b) * parameter_c
    function = Function(model, [parameter_a, parameter_b, parameter_c],
                        "TestFunction")

    function.get_parameters()[1].set_partial_shape(PartialShape([3, 4, 5]))

    ordered_ops = function.get_ordered_ops()
    op_types = [op.get_type_name() for op in ordered_ops]
    assert op_types == [
        "Parameter", "Parameter", "Parameter", "Add", "Multiply", "Result"
    ]
    assert len(function.get_ops()) == 6
    assert function.get_output_size() == 1
    assert function.get_output_op(0).get_type_name() == "Result"
    assert function.get_output_element_type(
        0) == parameter_a.get_element_type()
    assert list(function.get_output_shape(0)) == [2, 2]
    assert (function.get_parameters()[1].get_partial_shape()) == PartialShape(
        [3, 4, 5])
    assert len(function.get_parameters()) == 3
    assert len(function.get_results()) == 1
    assert function.get_friendly_name() == "TestFunction"
Пример #2
0
    def __init__(self, runtime: Runtime, ng_function: Function) -> None:
        self.runtime = runtime
        self.function = ng_function
        self.parameters = ng_function.get_parameters()
        self.results = ng_function.get_results()
        self.handle = self.runtime.backend.compile(self.function)

        self.tensor_views = []  # type: List[Tensor]
        for parameter in self.parameters:
            shape = parameter.get_shape()
            element_type = parameter.get_element_type()
            self.tensor_views.append(
                runtime.backend.create_tensor(element_type, shape))

        self.result_views = []  # type: List[Tensor]
        for result in self.results:
            element_type = result.get_element_type()
            if self.function.is_dynamic():
                output_pshape = result.get_output_partial_shape(0)
                output_tensor = runtime.backend.create_dynamic_tensor(
                    element_type, output_pshape)
                self.result_views.append(output_tensor)
            else:
                output_shape = result.get_shape()
                output_tensor = runtime.backend.create_tensor(
                    element_type, output_shape)
                self.result_views.append(output_tensor)
Пример #3
0
    def __init__(self, runtime: Runtime, ng_function: Function) -> None:
        ie = runtime.backend
        self.runtime = runtime
        self.function = ng_function
        self.parameters = ng_function.get_parameters()
        self.results = ng_function.get_results()

        capsule = Function.to_capsule(ng_function)
        cnn_network = IENetwork(capsule)
        self.executable_network = ie.load_network(cnn_network,
                                                  self.runtime.backend_name)
Пример #4
0
def test_sink_function_ctor():
    input_data = ng.parameter([2, 2], name="input_data", dtype=np.float32)
    rv = ng.read_value(input_data, "var_id_667")
    add = ng.add(rv, input_data, name="MemoryAdd")
    node = ng.assign(add, "var_id_667")
    res = ng.result(add, "res")
    function = Function(results=[res], sinks=[node], parameters=[input_data], name="TestFunction")

    ordered_ops = function.get_ordered_ops()
    op_types = [op.get_type_name() for op in ordered_ops]
    assert op_types == ["Parameter", "ReadValue", "Add", "Assign", "Result"]
    assert len(function.get_ops()) == 5
    assert function.get_output_size() == 1
    assert function.get_output_op(0).get_type_name() == "Result"
    assert function.get_output_element_type(0) == input_data.get_element_type()
    assert list(function.get_output_shape(0)) == [2, 2]
    assert (function.get_parameters()[0].get_partial_shape()) == PartialShape([2, 2])
    assert len(function.get_parameters()) == 1
    assert len(function.get_results()) == 1
    assert function.get_friendly_name() == "TestFunction"
Пример #5
0
def test_ngraph_function_api():
    shape = [2, 2]
    parameter_a = ng.parameter(shape, dtype=np.float32, name='A')
    parameter_b = ng.parameter(shape, dtype=np.float32, name='B')
    parameter_c = ng.parameter(shape, dtype=np.float32, name='C')
    model = (parameter_a + parameter_b) * parameter_c
    function = Function(model, [parameter_a, parameter_b, parameter_c], 'TestFunction')

    ordered_ops = function.get_ordered_ops()
    op_types = [op.get_type_name() for op in ordered_ops]
    assert op_types == ['Parameter', 'Parameter', 'Parameter', 'Add', 'Multiply', 'Result']
    assert len(function.get_ops()) == 6
    assert function.get_output_size() == 1
    assert function.get_output_op(0).get_type_name() == 'Result'
    assert function.get_output_element_type(0) == parameter_a.get_element_type()
    assert list(function.get_output_shape(0)) == [2, 2]
    assert len(function.get_parameters()) == 3
    assert len(function.get_results()) == 1
    assert function.get_name() == 'TestFunction'
Пример #6
0
 def __init__(self, runtime: Runtime, ng_function: Function) -> None:
     self.runtime = runtime
     self.function = ng_function
     self.parameters = ng_function.get_parameters()
     self.results = ng_function.get_results()
     self.network_cache = {}