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
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))
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)