Esempio n. 1
0
def test_query_state(device):
    import ngraph as ng
    from ngraph.impl import Function
    input_data = ng.parameter([5, 7], name="input_data", dtype=np.float32)
    rv = ng.read_value(input_data, "var_id_667")
    #a = ng.add(rv, input_data)
    node = ng.assign(rv, "var_id_667")
    res = ng.result(rv, "res")
    func = Function([res], sinks=[node], parameters=[input_data], name='test')
    caps = Function.to_capsule(func)

    net = ie.IENetwork(caps)
    ie_core = ie.IECore()
    exec_net = ie_core.load_network(network=net,
                                    device_name=device,
                                    num_requests=1)
    request = exec_net.requests[0]
    mem_states = request.query_state()
    mem_state = mem_states[0]
    with pytest.raises(ValueError) as e:
        ones_arr = np.ones(shape=(1, 800), dtype=np.float32)
        mem_state.state.buffer[:] = ones_arr
    assert "assignment destination is read-only" in str(e.value)
    assert mem_state.name == 'id_1'
    assert mem_state.state.tensor_desc.precision == 'FP32'
Esempio n. 2
0
def create_function_with_memory(input_shape, data_type):
    input_data = ng.parameter(input_shape, name="input_data", dtype=data_type)
    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")
    func = Function(results=[res], sinks=[node], parameters=[input_data], name="name")
    caps = Function.to_capsule(func)
    return caps
Esempio n. 3
0
def test_assign():
    input_data = ng.parameter([5, 7], name="input_data", dtype=np.int32)
    rv = ng.read_value(input_data, "var_id_667")
    node = ng.assign(rv, "var_id_667")

    assert node.get_type_name() == "Assign"
    assert node.get_output_size() == 1
    assert list(node.get_output_shape(0)) == [5, 7]
    assert node.get_output_element_type(0) == Type.i32
Esempio n. 4
0
def test_read_value():
    init_value = ng.parameter([2, 2], name="init_value", dtype=np.int32)

    node = ng.read_value(init_value, "var_id_667")

    assert node.get_type_name() == "ReadValue"
    assert node.get_output_size() == 1
    assert list(node.get_output_shape(0)) == [2, 2]
    assert node.get_output_element_type(0) == Type.i32
Esempio n. 5
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"