def test_export_monitor_data_with_id(fixed_nodenet): monitor1 = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen') micropsi.add_gate_monitor(fixed_nodenet, 'B1', 'gen') micropsi.step_nodenet(fixed_nodenet) data = micropsi.export_monitor_data(fixed_nodenet, monitor_uid=monitor1['uid']) assert data['node_name'] == 'A1' assert 'values' in data
def test_export_monitor_data_with_id(fixed_nodenet): uid1 = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', name="Testmonitor") micropsi.add_gate_monitor(fixed_nodenet, 'n0003', 'gen') micropsi.step_nodenet(fixed_nodenet) data = micropsi.export_monitor_data(fixed_nodenet, monitor_uid=uid1) assert data['name'] == 'Testmonitor' assert 'values' in data
def test_export_monitor_data(fixed_nodenet): uid1 = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen') uid2 = micropsi.add_gate_monitor(fixed_nodenet, 'n0003', 'gen') micropsi.step_nodenet(fixed_nodenet) data = micropsi.export_monitor_data(fixed_nodenet) assert uid1 in data assert 'values' in data[uid1] assert uid2 in data
def test_export_monitor_data(fixed_nodenet): monitor1 = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen') monitor2 = micropsi.add_gate_monitor(fixed_nodenet, 'B1', 'gen') micropsi.step_nodenet(fixed_nodenet) data = micropsi.export_monitor_data(fixed_nodenet) assert monitor1['uid'] in data assert 'values' in data[monitor1['uid']] assert monitor2['uid'] in data
def test_clear_monitor(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen') micropsi.step_nodenet(fixed_nodenet) micropsi.clear_monitor(fixed_nodenet, uid) data = micropsi.get_monitor_data(fixed_nodenet) values = data['monitors'][uid]['values'] assert len(values.keys()) == 0
def test_clear_monitor(fixed_nodenet): monitor = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen') micropsi.step_nodenet(fixed_nodenet) micropsi.clear_monitor(fixed_nodenet, monitor['uid']) data = micropsi.get_monitor_data(fixed_nodenet) values = data['monitors'][monitor['uid']]['values'] assert len(values.keys()) == 0
def test_get_monitor_data(fixed_nodenet): monitor = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen') micropsi.step_nodenet(fixed_nodenet) data = micropsi.get_monitor_data(fixed_nodenet) assert data['current_step'] == 1 assert data['monitors'][monitor['uid']]['node_name'] == 'A1' values = data['monitors'][monitor['uid']]['values'] assert len(values.keys()) == 1
def test_add_gate_monitor(fixed_nodenet): data = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen') assert data['uid'] is not None assert data['node_name'] == 'A1' assert data['node_uid'] == 'A1' assert data['target'] == 'gen' assert data['type'] == 'gate' assert data['uid'] in micropsi.nodenets[fixed_nodenet].monitors
def test_get_monitor_data(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', name="Testmonitor") micropsi.step_nodenet(fixed_nodenet) data = micropsi.get_monitor_data(fixed_nodenet) assert data['current_step'] == 1 assert data['monitors'][uid]['name'] == 'Testmonitor' values = data['monitors'][uid]['values'] assert len(values.keys()) == 1 assert [k for k in values.keys()] == [1]
def test_remove_monitored_node(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', sheaf='default') micropsi.delete_nodes(fixed_nodenet, ['n0001']) micropsi.step_nodenet(fixed_nodenet) monitor = micropsi.export_monitor_data(fixed_nodenet) assert monitor[uid]['values'][1] is None
def test_add_gate_monitor(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen', sheaf='default') monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid) assert monitor.name == 'gate gen @ Node A1' assert monitor.node_uid == 'A1' assert monitor.target == 'gen' assert monitor.type == 'gate' assert monitor.sheaf == 'default' assert len(monitor.values) == 0 micropsi.step_nodenet(fixed_nodenet) monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid) assert len(monitor.values) == 1
def test_add_gate_monitor(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', sheaf='default') monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid) assert monitor.name == 'gate gen @ Node A1' assert monitor.node_uid == 'n0001' assert monitor.target == 'gen' assert monitor.type == 'gate' assert monitor.sheaf == 'default' assert monitor.color.startswith('#') assert len(monitor.values) == 0 micropsi.step_nodenet(fixed_nodenet) monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid) assert len(monitor.values) == 1
def test_register_runner_condition_monitor(test_nodenet): import time nn = micropsi.nodenets[test_nodenet] node = nn.netapi.create_node('Register', None) nn.netapi.link(node, 'gen', node, 'gen', weight=2) node.activation = 0.1 uid = micropsi.add_gate_monitor(test_nodenet, node.uid, 'gen') micropsi.set_runner_condition(test_nodenet, monitor={ 'uid': uid, 'value': 0.8 }) micropsi.start_nodenetrunner(test_nodenet) assert micropsi.nodenets[test_nodenet].is_active time.sleep(1) assert not micropsi.nodenets[test_nodenet].is_active assert micropsi.nodenets[test_nodenet].current_step == 3 assert round(nn.get_node(node.uid).get_gate('gen').activation, 4) == 0.8
def test_fetch_partial_monitor_data(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen') i = 0 while i < 50: micropsi.step_nodenet(fixed_nodenet) i += 1 assert micropsi.nodenets[fixed_nodenet].current_step == 50 # get 10 items from [20 - 29] data = micropsi.export_monitor_data(fixed_nodenet, monitor_from=20, monitor_count=10) values = data[uid]['values'] assert len(values.keys()) == 10 assert set(list(values.keys())) == set(range(20, 30)) # get 10 items from [20 - 29] for one monitor data = micropsi.export_monitor_data(fixed_nodenet, monitor_uid=uid, monitor_from=20, monitor_count=10) values = data['values'] assert len(values.keys()) == 10 assert set(list(values.keys())) == set(range(20, 30)) # get 10 newest values [41-50] data = micropsi.export_monitor_data(fixed_nodenet, monitor_count=10) values = data[uid]['values'] assert len(values.keys()) == 10 assert set(list(values.keys())) == set(range(41, 51)) # get 10 items, starting at 45 -- assert they are filled up to the left. data = micropsi.export_monitor_data(fixed_nodenet, monitor_from=40, monitor_count=15) values = data[uid]['values'] assert len(values.keys()) == 15 assert set(list(values.keys())) == set(range(36, 51)) # get all items, starting at 10 data = micropsi.export_monitor_data(fixed_nodenet, monitor_from=10) values = data[uid]['values'] assert len(values.keys()) == 41 assert set(list(values.keys())) == set(range(10, 51))
def test_remove_monitor(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen') assert micropsi.nodenets[fixed_nodenet].get_monitor(uid) is not None micropsi.remove_monitor(fixed_nodenet, uid) monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid) assert monitor is None
def add_gate_monitor(nodenet_uid, node_uid, gate, sheaf=None, name=None, color=None): return True, runtime.add_gate_monitor(nodenet_uid, node_uid, gate, sheaf=sheaf, name=name, color=color)
def add_gate_monitor(nodenet_uid, node_uid, gate): return runtime.add_gate_monitor(nodenet_uid, node_uid, gate)
def test_remove_monitored_node(fixed_nodenet): uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', sheaf='default') micropsi.delete_node(fixed_nodenet, 'n0001') micropsi.step_nodenet(fixed_nodenet) monitor = micropsi.export_monitor_data(fixed_nodenet) assert monitor[uid]['values'][1] is None
def add_gate_monitor(nodenet_uid, node_uid, gate, name=None, color=None): """ Add a gate monitor to the given node, recording outgoing activation""" return True, runtime.add_gate_monitor(nodenet_uid, node_uid, gate, name=name, color=color)