Esempio n. 1
0
File: search.py Progetto: mode89/vc
def simulation(neuron_count, connectivity, leaking_rate, input_scale,
    feedback_scale, washout_time, train_time):

    network = esn.create_network(
        inputCount=13,
        neuronCount=neuron_count,
        outputCount=1,
        connectivity=connectivity,
        leakingRate=leaking_rate,
        useOrthonormalMatrix=True)

    input_scalings = numpy.ones(13) * input_scale
    input_scalings[0] *= 0.03
    network.set_input_scalings(input_scalings)
    network.set_feedback_scalings([feedback_scale])

    trainer = training.Trainer(network, washout_time=washout_time,
        train_time=train_time)

    stable = True
    error = detecting.Error(0.5 / SIM_STEP, 0.3 / SIM_STEP)
    try:
        while trainer.time < train_time:
            trainer.step(SIM_STEP)
        while trainer.time < (train_time + FREERUN_TIME):
            trainer.step(SIM_STEP)
            ref = trainer.outputs.value
            out = network.capture_output(1)[0]
            error.update(ref, out)
    except esn.OutputIsNotFinite:
        stable = False

    return trainer.time, stable, error.count
Esempio n. 2
0
File: daemon.py Progetto: mode89/vc
 def __init__(self):
     print("Generating network...")
     self.network = esn.create_network(
         inputCount=INPUT_COUNT,
         neuronCount=NEURON_COUNT,
         outputCount=1,
         connectivity=CONNECTIVITY,
         useOrthonormalMatrix=True)
     self.input_audio = input.Audio()
     self.server = server.Server(self)
     self.server.start()
     print("Free running...")
     self.state = Daemon.RunningState()
     self.output_queue = None
     self.input_frames = None
Esempio n. 3
0
File: test.py Progetto: mode89/vc
CONNECTIVITY = 0.5
SIM_STEP = 0.01
SLEEP_TIME = 0.02
NORMALIZE_TIME = 50.0
WASHOUT_TIME = 50.0
TRAIN_TIME = 300.0

if __name__ == "__main__":

    # Create network

    print("Generating network...")
    network = esn.create_network(
        inputCount=INPUT_COUNT,
        neuronCount=NEURON_COUNT,
        outputCount=1,
        connectivity=CONNECTIVITY,
        useOrthonormalMatrix=True
    )

    # Train the network

    trainer = training.Trainer(network, washout_time=WASHOUT_TIME,
        train_time=TRAIN_TIME)

    # Calculate input scalings
    print("Normalizing inputs...")
    inmin = numpy.finfo(float).max
    inmax = numpy.finfo(float).min
    for i in range(int(NORMALIZE_TIME / SIM_STEP)):
        inputs = trainer.inputs