Exemplo n.º 1
0
def generate_data(N, trans, sample_rate, Ngrid, def_param=(shared_input_data, shared_data)):
    data = None

    if direction == "u":
        if not os.path.exists("../../cache/barkley/raw/{0}_{1}.uv.dat.npy".format(N, Ngrid)):
            data = bh.generate_data(N, 20000, 5, Ngrid=Ngrid)
            np.save("../../cache/barkley/raw/{0}_{1}.uv.dat.npy".format(N, Ngrid), data)
        else:
            data = np.load("../../cache/barkley/raw/{0}_{1}.uv.dat.npy".format(N, Ngrid))
    else:
        if not os.path.exists("../../cache/mitchell/raw/{0}_{1}.vh.dat.npy".format(N, Ngrid)):
            data = mh.generate_data(N, 20000, 50, Ngrid=Ngrid)
            np.save("../../cache/mitchell/raw/{0}_{1}.vh.dat.npy".format(N, Ngrid), data)
        else:
            data = np.load("../../cache/mitchell/raw/{0}_{1}.vh.dat.npy".format(N, Ngrid))

    data = data[0, :]

    input_y, input_x, output_y, output_x = hp.create_patch_indices(
        (center - (half_inner_size+border_size), center + (half_inner_size+border_size) + right_border_add),
        (center - (half_inner_size+border_size), center + (half_inner_size+border_size) + right_border_add),
        (center - (half_inner_size), center + (half_inner_size) + right_border_add),
        (center - (half_inner_size), center + (half_inner_size) + right_border_add))

    input_data = data[:, input_y, input_x].reshape(ndata, -1)
    if prediction_mode in ["NN", "RBF"]:
        shared_input_data[:] = hp.create_1d_delay_coordinates(input_data, delay_dimension=ddim, tau=tau[direction]).reshape((ndata, -1))
    else:
        shared_input_data[:] = input_data[:]

    shared_data[:] = data[:]
    prediction[:] = data[trainLength:trainLength+predictionLength]
    prediction[:, output_y, output_x] = 0.0
Exemplo n.º 2
0
                    default="u",
                    nargs=1,
                    type=str,
                    help="u: predict inner of u, v: predict inner of v")
args = parser.parse_args()

if args.direction[0] not in ["u", "v"]:
    raise ValueError("No valid direction choosen! (Value is now: {0})".format(
        args.direction[0]))
else:
    direction = args.direction[0]

if (direction == "u"):
    if (os.path.exists("../../cache/barkley/raw/{0}_{1}.uv.dat.npy".format(
            ndata, N)) == False):
        data = bh.generate_data(ndata, 20000, 5, Ngrid=N)
        np.save("../../cache/barkley/raw/{0}_{1}.uv.dat.npy".format(ndata, N),
                data)
    else:
        data = np.load("../../cache/barkley/raw/{0}_{1}.uv.dat.npy".format(
            ndata, N))
else:
    if (os.path.exists("../../cache/mitchell/raw/{0}_{1}.vh.dat.npy".format(
            ndata, N)) == False):
        data = mh.generate_data(ndata, 20000, 50, Ngrid=N)
        np.save("../../cache/mitchell/raw/{0}_{1}.vh.dat.npy".format(ndata, N),
                data)
    else:
        data = np.load("../../cache/mitchell/raw/{0}_{1}.vh.dat.npy".format(
            ndata, N))
Exemplo n.º 3
0
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from helper import *
import barkley_helper as bh

from ESN import ESN


N = 10000
trainLength = 8000
testLength = 2000

Ngrid = 150

if (os.path.exists("../../cache/barkley/raw/{0}_{1}.dat.npy".format(N, Ngrid)) == False):
    data = bh.generate_data(N=N, trans=50000, sample_rate=5, Ngrid=Ngrid)
    np.save("../../cache/barkley/raw/{0}_{1}.dat.npy".format(N, Ngrid), data)
else:
    data = np.load("../../cache/barkley/raw/{0}_{1}.dat.npy".format(N, Ngrid))


T = 100

#input_y, input_x, output_y, output_x = create_patch_indices((12,17), (12,17), (13,16), (13,16)) # -> yields MSE=0.0115 with leak_rate = 0.8
#input_y, input_x, output_y, output_x = create_patch_indices((4,23), (4,23), (7,20), (7,20)) # -> yields MSE=0.0873 with leak_rate = 0.3
#index_y, index_x =  create_square((7,9),(7,9))

pointX = 75
pointY = 75
index_y, index_x = [pointY],[pointX]#create_rectangle_indices([74,77],[74,77])
#print(index_x.shape)