import numpy as np from KoopmanESNModel import KoopmanESNConfig def DataLoad(Path, config: KoopmanESNConfig): Data = np.loadtxt(Path, delimiter=',') train_start = config.train_start train_len = config.train_len warmup_len = config.predict_warmup predict_len = config.predict_len state_dim = config.state_dim Data = Data[train_start:train_start + train_len + predict_len, :state_dim].reshape(-1, state_dim) Max = np.max(Data, axis=0) Min = np.min(Data, axis=0) DataNor = 2*(Data-Min)/(Max-Min)-1 DataTrain = DataNor[:train_len, :] DataWarm = DataTrain[-warmup_len:, :] DataVal = DataNor[train_len:, :] return DataNor, DataTrain, DataWarm, DataVal