Ejemplo n.º 1
0
def test_get_nodespace_changes(fixed_nodenet):
    net = micropsi.nodenets[fixed_nodenet]
    net.step()
    result = micropsi.get_nodespace_changes(fixed_nodenet, [None], 0)
    assert set(result['nodes_dirty'].keys()) == set(net.get_node_uids())
    assert result['nodes_deleted'] == []
    assert result['nodespaces_dirty'] == {}
    assert result['nodespaces_deleted'] == []
    nodes = {}
    for n in net.netapi.get_nodes():
        nodes[n.name] = n
    net.netapi.unlink(nodes['A1'], 'por', nodes['A2'], 'gen')
    net.netapi.delete_node(nodes['B2'])
    newnode = net.netapi.create_node('Pipe', None, "asdf")
    net.netapi.link(newnode, 'gen', nodes['B1'], 'gen')
    newspace = net.netapi.create_nodespace(None, "nodespace")
    net.step()
    test = micropsi.get_nodenet_activation_data(fixed_nodenet, [None], 1)
    assert test['has_changes']
    result = micropsi.get_nodespace_changes(fixed_nodenet, [None], 1)
    assert nodes['B2'].uid in result['nodes_deleted']
    assert nodes['A1'].uid in result['nodes_dirty']
    assert nodes['A2'].uid in result['nodes_dirty']
    assert result['nodes_dirty'][nodes['A1'].uid]['links'] == {}
    assert newnode.uid in result['nodes_dirty']
    assert len(result['nodes_dirty'][newnode.uid]['links']['gen']) == 1
    assert newspace.uid in result['nodespaces_dirty']
    assert len(result['nodes_dirty'].keys()) == 4
    assert len(result['nodespaces_dirty'].keys()) == 1
    net.step()
    test = micropsi.get_nodenet_activation_data(fixed_nodenet, [None], 2)
    assert not test['has_changes']
def test_get_nodespace_changes(fixed_nodenet):
    net = micropsi.nodenets[fixed_nodenet]
    net.step()
    result = micropsi.get_nodespace_changes(fixed_nodenet, [None], 0)
    assert set(result['nodes_dirty'].keys()) == set(net.get_node_uids())
    assert result['nodes_deleted'] == []
    assert result['nodespaces_dirty'] == {}
    assert result['nodespaces_deleted'] == []
    nodes = {}
    for n in net.netapi.get_nodes():
        nodes[n.name] = n
    net.netapi.unlink(nodes['A1'], 'por', nodes['A2'], 'gen')
    net.netapi.delete_node(nodes['B2'])
    newnode = net.netapi.create_node('Pipe', None, "asdf")
    net.netapi.link(newnode, 'gen', nodes['B1'], 'gen')
    newspace = net.netapi.create_nodespace(None, "nodespace")
    net.step()
    test = micropsi.get_nodenet_activation_data(fixed_nodenet, [None], 1)
    assert test['has_changes']
    result = micropsi.get_nodespace_changes(fixed_nodenet, [None], 1)
    assert nodes['B2'].uid in result['nodes_deleted']
    assert nodes['A1'].uid in result['nodes_dirty']
    assert nodes['A2'].uid in result['nodes_dirty']
    assert result['nodes_dirty'][nodes['A1'].uid]['links'] == {}
    assert newnode.uid in result['nodes_dirty']
    assert len(result['nodes_dirty'][newnode.uid]['links']['gen']) == 1
    assert newspace.uid in result['nodespaces_dirty']
    assert len(result['nodes_dirty'].keys()) == 4
    assert len(result['nodespaces_dirty'].keys()) == 1
    net.step()
    test = micropsi.get_nodenet_activation_data(fixed_nodenet, [None], 2)
    assert not test['has_changes']
Ejemplo n.º 3
0
def test_get_nodenet_activation_data(test_nodenet):
    nodes = prepare_nodenet(test_nodenet)
    uid = nodes['a']
    activation_data = micropsi.get_nodenet_activation_data(test_nodenet, [None])
    assert activation_data["activations"][uid][0] == 0
    assert activation_data["activations"][uid][1] == 0
    assert activation_data["activations"][uid][2] == 0
    assert activation_data["activations"][uid][3] == 0
    assert activation_data["activations"][uid][4] == 0
    assert activation_data["activations"][uid][5] == 0
    assert activation_data["activations"][uid][6] == 0

    micropsi.set_node_activation(test_nodenet, nodes['a'], 0.34556865)

    activation_data = micropsi.get_nodenet_activation_data(test_nodenet, [None])
    assert activation_data["activations"][uid][0] == 0.3
Ejemplo n.º 4
0
def get_nodenet_changes(nodenet_uid, nodespaces=[], since_step=0):
    """ Return a diff of the nodenets state between the given since_step and the current state. optionally filtered by nodespaces"""
    data = runtime.get_nodenet_activation_data(nodenet_uid, nodespaces=nodespaces, last_call_step=int(since_step))
    if data['has_changes']:
        data['changes'] = runtime.get_nodespace_changes(nodenet_uid, nodespaces=nodespaces, since_step=int(since_step))
    else:
        data['changes'] = {}
    return True, data
Ejemplo n.º 5
0
def get_nodespace_activations(nodenet_uid, nodespaces, last_call_step=-1):
    return True, runtime.get_nodenet_activation_data(nodenet_uid, nodespaces, last_call_step)
Ejemplo n.º 6
0
def test_get_nodenet_activation_data_for_nodespace(test_nodenet):
    nodes = prepare_nodenet(test_nodenet)
    uid = nodes['a']
    nodespace = micropsi.nodenets[test_nodenet].get_nodespace_uids()[0]
    activation_data = micropsi.get_nodenet_activation_data(test_nodenet, [nodespace])
    assert activation_data["activations"][uid][0] == 0
Ejemplo n.º 7
0
def get_nodespace_activations(nodenet_uid, nodespaces, last_call_step=-1):
    """ Return a dict of uids to lists of activation values"""
    return True, runtime.get_nodenet_activation_data(nodenet_uid, nodespaces, int(last_call_step))