Esempio n. 1
0
def testUpdateSynapses():
    inp = [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

    settings = SpatialSettings(debug = False, min_overlap = 1, desired_local_activity = 4, connected_pct = 1,
                               connected_perm = 0.01, xinput = 3, yinput = 3, potential_radius = 4, xdimension = 3,
                               ydimension = 3, initial_inhibition_radius = 1, permanence_inc = 0.1, permanence_dec = 0.1,
                               max_boost = 2, min_duty_cycle_fraction = 0.2)
    settings.debug = True

    settings.min_overlap = 1
    settings.desired_local_activity = 1
    settings.connected_pct = 1
    settings.xinput = len(inp)
    settings.yinput = 1
    settings.potential_radius = 2
    settings.xdimension = 4
    settings.ydimension = 1
    settings.initial_inhibition_radius = 1
    settings.permanence_inc = 0.2
    settings.permanence_dec = 0.2
    r = Region(settings, SimpleMapper())

    overlaps = r.update_overlaps(r.get_columns(), inp)
    r.inhibition_phase(r.get_columns(), overlaps)

    r.get_columns()[0].get_potential_synapses().get(4).set_permanence(0.5)
    r.update_synapses(r.get_columns(), inp)
    v = r.get_columns()[0].get_potential_synapses().get(4).get_permanence()
    assert v == 0.7

    r.get_columns()[0].get_potential_synapses().get(5).set_permanence(0.5)
    r.update_synapses(r.get_columns(), inp)
    v = r.get_columns()[0].get_potential_synapses().get(5).get_permanence()
    assert v == 0.3