def train_and_save_svr_dynamics(train_file_base_name, svr_output_path, delta_t, n, m, epsilons, feature_names, target_names, xtra_names, kernel_type='LINEAR', kernel_params = {}): # Read data from disk print 'Reading training file:', train_file_base_name (train_X, train_Y) = dynamics_learning.read_dynamics_learning_example_files(train_file_base_name) # print 'train_X:\n',train_X # print 'train_Y:\n',train_Y print 'len(train_X)',len(train_X) print 'len(train_Y)',len(train_Y) # Build model class if _LEARN_SVR_ERR_DYNAMICS: svr_dynamics = SVRWithNaiveLinearPushDynamics(delta_t, n, m, epsilons=epsilons) svr_dynamics.learn_model(train_X, train_Y, kernel_params) elif _LEARN_GP_DYNAMICS: svr_dynamics = GPPushDynamics(delta_t, n, m, feature_names = feature_names, target_names = target_names, xtra_names = xtra_names, mean_fnc = kernel_type.lower()) svr_dynamics.learn_model(train_X, train_Y) else: svr_dynamics = SVRPushDynamics(delta_t, n, m, epsilons=epsilons, feature_names = feature_names, target_names = target_names, xtra_names = xtra_names, kernel_type = kernel_type) # Train and save model svr_dynamics.learn_model(train_X, train_Y, kernel_params) print 'Saving model to:', svr_output_path svr_dynamics.save_models(svr_output_path) return svr_dynamics
def test_svr_offline(model_param_file_name, test_data_example_base_name): delta_t = 1./9. n = 6 m = 3 if _LEARN_SVR_ERR_DYNAMICS: svr_dynamics = SVRWithNaiveLinearPushDynamics(delta_t, n, m, param_file_name = model_param_file_name) elif _LEARN_GP_DYNAMICS: svr_dynamics = GPPushDynamics(param_file_name = model_param_file_name) else: svr_dynamics = SVRPushDynamics(param_file_name = model_param_file_name) (test_X, test_Y) = dynamics_learning.read_dynamics_learning_example_files(test_data_example_base_name) # Run batch testing (Y_hat, Y_gt, _) = svr_dynamics.test_batch_data(test_X, test_Y) return (Y_hat, Y_gt)