Module project.expander.configs

Expand source code
import signal

import numpy as np

import project.esn.core as c
import project.esn.transformer as t
import project.expander.expander as e
import project.test.music_test as data
from project.esn.transformer import Transformers, _identity, my_sigm, sigmoid
from project.esn.utils import *

reservoir_gen = {
    "spectral_radius": ((x / 10) + 0.05 for x in range(12)),
    "density": ((x / 12) + 0.04 for x in range(12)),
    "size": (x for x in [100, 500, 1000, 1500, 2000, 3000, 5000, 10000]),
    "repetition": [10],
}

reservoir_gen_small = {
    "spectral_radius": ((x / 12) + 0.1 for x in range(12)),
    "density": ((x / 12) + 0.04 for x in range(10)),
    "size": (x for x in [100, 500, 1000, 2000]),
    "repetition": [10],
}

final_reservoir = {
    "spectral_radius": ((x / 5) + 0.5 for x in range(5)),
    "density": [0.04],
    "size": (x for x in [2000, 5000]),
    "repetition": [10],
}

import project.test.music_test as data
import project.esn.core as c

esn_gen = {
    "data": [
        c.Data(np.array(list(~(data.all * 50))), (data.all * 50).tempo, 1280,
               5500, 5500)
    ],
    "in_out": [9],
    "reg": [1e-8],
    "leaking_rate": (((x * 2) / 10) + 0.2 for x in range(5)),
    "noise": [0],
    "t_squeeze": (x for x in [np.tanh, sigmoid, my_sigm]),
    "t_param": (((x * 2) / 10) + 0.2 for x in range(5)),
    "transformer":
    (x for x in [t.Transformers.sig_prob, t.Transformers.threshold]),
    "idx": (x for x in range(5)),
    "squeeze_o": (x for x in [_identity, my_sigm]),
    "matrix_path":
    ("/".join(["/home", "vimmoos", "NN", "resources", "reservoir", x])
     for x in ~e.gen_reservoir(reservoir_gen_small)),
    "repetition": [10]
}

esn_final = {
    "data": [
        c.Data(np.array(list(~(data.all * 10))), (data.all * 10).tempo, 3200,
               6200, 6200)
    ],
    "matrix_path":
    ("/".join(["/home", "vimmoos", "NN", "resources", "reservoir", "final", x])
     for x in ~e.gen_reservoir(final_reservoir)),
    "idx": (x for x in range(10)),
    "in_out": [9],
    "reg": [1e-8],
    "noise": [0],
    "squeeze_o": (x for x in [my_sigm, np.tanh, sigmoid]),
    "leaking_rate": (((x * 2) / 10) + 0.2 for x in range(5)),
    "t_squeeze": (x for x in [np.tanh, sigmoid, my_sigm]),
    "t_param": (((x * 2) / 10) + 0.2 for x in range(5)),
    "transformer": (x for x in list(t.Transformers)),
    "repetition": [1]
}

if __name__ == "__main__":
    signal.signal(signal.SIGINT, signal_hadler())
    # p = e.reservoir_pickler(final_reservoir,
    #                     path_to_dir="/home/vimmoos/NN/resources/reservoir/final/",
    #                     verbose=True)
    p = e.esn_pickler(esn_final,
                      path_to_dir="/home/vimmoos/NN/resources/esn/final_final/",
                      verbose=True)
    p()