def load_gp(fname_base): kernel=None with open(fname_base+".json",'r') as f: my_json = json.load(f) my_X = np.loadtxt(fname_base+"_X.dat") my_y = np.loadtxt(fname_base+"_y.dat") my_alpha = np.loadtxt(fname_base+"_alpha.dat") dict_params = my_json['kernel_params'] eval("kernel = "+my_json['kernel']) gp = GaussianProcessRegressor(kernel=kernel,n_restarts_optimizer=0) gp.kernel_ = kernel dict_params_eval = {} for name in dict_params: if not('length' in name or 'constant' in name): continue if name =="k2__k2__length_scale": one_space = ' '.join(dict_params[name].split()) dict_params_eval[name] = eval(one_space.replace(' ',',')) else: dict_params_eval[name] = eval(dict_params[name]) gp.kernel_.set_params(dict_params_eval) gp.X_train_ = my_X gp.y_train_ = my_y gp.alpha_ = my_alpha gp._y_train_std = float(my_json['y_train_std']) gp._y_train_mean = float(my_json['y_train_mean']) return gp