Example #1
0
def set_runner_condition(nodenet_uid, steps=-1, monitor=None):
    if monitor and 'value' in monitor:
        monitor['value'] = float(monitor['value'])
    if steps:
        steps = int(steps)
        if steps < 0:
            steps = None
    return runtime.set_runner_condition(nodenet_uid, monitor, steps)
Example #2
0
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
Example #3
0
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
Example #4
0
def set_runner_condition(nodenet_uid, steps=-1, monitor=None):
    """ Register a stop-condition for the nodenet-runner, depending on the parameter:
    steps (int): Stop runner after having calculated this many steps
    monitor (dict, containing "uid", and "value"): Stop if the monitor with the given uid has the given value
    """
    if monitor and 'value' in monitor:
        monitor['value'] = float(monitor['value'])
    if steps:
        steps = int(steps)
        if steps < 0:
            steps = None
    return runtime.set_runner_condition(nodenet_uid, monitor, steps)
Example #5
0
def test_register_runner_condition_step(test_nodenet):
    import time
    success, data = micropsi.set_runner_condition(test_nodenet, steps=7)
    assert data['step'] == 7
    assert data['step_amount'] == 7
    micropsi.start_nodenetrunner(test_nodenet)
    assert micropsi.nodenets[test_nodenet].is_active
    time.sleep(1)
    assert micropsi.nodenets[test_nodenet].current_step == 7
    assert not micropsi.nodenets[test_nodenet].is_active
    # test that the condition stays active.
    micropsi.start_nodenetrunner(test_nodenet)
    assert micropsi.nodenets[test_nodenet].is_active
    time.sleep(1)
    assert micropsi.nodenets[test_nodenet].current_step == 14
    assert not micropsi.nodenets[test_nodenet].is_active
Example #6
0
def test_register_runner_condition_step(test_nodenet):
    import time
    success, data = micropsi.set_runner_condition(test_nodenet, steps=7)
    assert data['step'] == 7
    assert data['step_amount'] == 7
    micropsi.start_nodenetrunner(test_nodenet)
    assert micropsi.nodenets[test_nodenet].is_active
    time.sleep(1)
    assert micropsi.nodenets[test_nodenet].current_step == 7
    assert not micropsi.nodenets[test_nodenet].is_active
    # test that the condition stays active.
    micropsi.start_nodenetrunner(test_nodenet)
    assert micropsi.nodenets[test_nodenet].is_active
    time.sleep(1)
    assert micropsi.nodenets[test_nodenet].current_step == 14
    assert not micropsi.nodenets[test_nodenet].is_active
def test_runner_condition_persists(test_nodenet):
    micropsi.set_runner_condition(test_nodenet, steps=7)
    micropsi.save_nodenet(test_nodenet)
    micropsi.revert_nodenet(test_nodenet)
    assert micropsi.nodenets[test_nodenet].get_runner_condition()['step'] == 7
Example #8
0
def test_runner_condition_persists(test_nodenet):
    micropsi.set_runner_condition(test_nodenet, steps=7)
    micropsi.save_nodenet(test_nodenet)
    micropsi.revert_nodenet(test_nodenet)
    assert micropsi.nodenets[test_nodenet].get_runner_condition()['step'] == 7