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'
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
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
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
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"