Exemplo n.º 1
0
def main():
    params = get_params()

    datasetD = make_seq_2_seq_dataset(params)
    train_x = datasetD['train']['x']
    train_y = datasetD['train']['y']
    test_x = datasetD['test']['x']
    test_y = datasetD['test']['y']
    train_scenarios = datasetD['train']['scenarios']
    test_scenarios = datasetD['test']['scenarios']
    val_scenarios = datasetD['val']['scenarios']
    params.scaleD = datasetD['scaleD']

    input_window_samps = params.input_window_length_samples
    num_signals = params.num_signals
    output_window_samps = params.output_window_length_samples

    train_X = np.array(train_x, dtype=float)
    # train_X=np.reshape(train_X,(input_window_samps,-1))

    #
    train_Y = np.array(train_y, dtype=float)
    nsamples, nx, ny = train_Y.shape
    # print(nsamples)
    # print(nx)
    # print(ny)

    train_Y = np.reshape(train_Y,
                         (nsamples, output_window_samps * num_signals))
    print(train_X.shape)
    #print(len(train_X[0,:]))
    print(train_Y.shape)

    print(train_Y)

    # print(input_window_samps)
    # print(num_signals)
    # print(output_window_samps)
    # train_x = Reshape((input_window_samps,num_signals))(train_x)
    # print(train_x.shape)
    # print(train_x[0,:])
    #
    # train_y = Reshape((output_window_samps, num_signals))(train_y)
    # print(train_y.shape)
    # print(train_y[0,:])

    model = SVR(kernel='rbf', degree=3)
    history = model.fit(train_X, train_Y)
    history_score = history.score(test_x, test_y)
    print("the score of linear is : %f" % history_score)
Exemplo n.º 2
0
def main():
    # tf.compat.v1.enable_v2_behavior()
    print("tensorflow version =", tf.__version__)
    # get and save params of this run
    params = get_params()

    # dataset = Seq2SeqDataset_copy(
    #     input_path=params.input_dir,
    #     input_window_length_samples =params.input_window_length_samples,
    #     output_window_length_samples=params.output_window_length_samples,
    # )

    # train_dataset = tf.data.Dataset.from_generator((train_x, train_y),output_types=(tf.float64,tf.float64))
    # train_dataset = train_dataset.shuffle(buffer_size=100000)
    # train_dataset = train_dataset.repeat()

    datasetD = make_seq_2_seq_dataset(params)

    train_x = datasetD['train']['x']
    train_y = datasetD['train']['y']
    test_x = datasetD['test']['x']
    test_y = datasetD['test']['y']
    val_x = datasetD['val']['x']
    val_y = datasetD['val']['y']

    train_scenarios = datasetD['train']['scenarios']
    test_scenarios = datasetD['test']['scenarios']
    val_scenarios = datasetD['val']['scenarios']
    params.scaleD = datasetD['scaleD']  # store scaleD in params_out.yml

    #model = create_model(params)
    #model.compile(optimizer=params.optimizer,
    #              loss=params.loss,
    #             metrics=get_metrics(params))
    input_window_samps = params.input_window_length_samples
    num_signals = params.num_signals
    output_window_samps = params.output_window_length_samples

    train_x = tf.reshape(train_x, [input_window_samps, num_signals])
    train_y = tf.reshape(train_y, [output_window_samps, num_signals])
    test_x = tf.reshape(test_x, [input_window_samps, num_signals])
    test_y = tf.reshape(test_y, [output_window_samps, num_signals])
    model = SVR(kernel='rbf', degree=3)
    history = model.fit([train_x], [train_y])
    history_score = history.score(test_x, test_y)
    print("the score of linear is : %f" % history_score)
Exemplo n.º 3
0
def main():
    start = time.clock()
    params = get_params()

    datasetD = make_seq_2_seq_dataset(params)
    train_x = datasetD['train']['x']
    train_y = datasetD['train']['y']
    test_x = datasetD['test']['x']
    test_y = datasetD['test']['y']

    input_window_samps = params.input_window_length_samples
    num_signals = params.num_signals
    output_window_samps = params.output_window_length_samples
    train_X = np.array(train_x, dtype=float)
    train_Y = np.array(train_y, dtype=float)
    nsamples, nx = train_X.shape
    print(nsamples)
    print(nx)
    train_Y = np.reshape(train_Y,
                         (nsamples, output_window_samps * num_signals))

    test_X = np.array(test_x, dtype=float)
    print(test_X.shape)
    test_Y = np.array(test_y, dtype=float)
    test_sample, test_nx = test_X.shape
    test_Y = np.reshape(test_Y,
                        (test_sample, output_window_samps * num_signals))
    print(test_Y.shape)

    train_Y_SVR = train_Y[:, 8:]
    test_Y_SVR = test_Y[:, 8:]

    model_SVR = MultiOutputRegressor(SVR(kernel='rbf', degree=3))
    model_SVR.fit(train_X, train_Y_SVR)
    result_SVR = model_SVR.predict(test_X)
    score_SVR = metrics.mean_squared_error(test_Y_SVR, result_SVR)
    f = open(
        'C:/Users/HD1047208/OneDrive - Bose Corporation/Desktop/data/Hang_SVR.pickle',
        'wb')
    pickle.dump(model_SVR, f)
    f.close()
    print(score_SVR)
    plt.figure()

    plt.plot(np.arange(len(result_SVR)),
             result_SVR[:, 0],
             'r-',
             label='predict value_x0')
    plt.plot(np.arange(len(result_SVR)),
             result_SVR[:, 1],
             'b-',
             label='predict value_y0')
    plt.plot(np.arange(len(result_SVR)),
             result_SVR[:, 2],
             'g-',
             label='predict value_z0')
    plt.plot(np.arange(len(result_SVR)),
             result_SVR[:, 3],
             'y-',
             label='predict value_w0')
    plt.plot(np.arange(len(result_SVR)),
             test_Y_SVR[:, 0],
             'k-',
             label='test value_x0')
    plt.plot(np.arange(len(result_SVR)),
             test_Y_SVR[:, 1],
             'm-',
             label='test value_y0')
    plt.plot(np.arange(len(result_SVR)),
             test_Y_SVR[:, 2],
             'c-',
             label='test value_z0')
    plt.plot(np.arange(len(result_SVR)),
             test_Y_SVR[:, 3],
             'k-',
             label='test value_w0')
    plt.xlabel('length')
    plt.ylabel('result')
    plt.title('SVR prediction')
    plt.legend()
    plt.show()
    print(result_SVR.shape)
    print(test_Y.shape)
    print(time.clock() - start)
Exemplo n.º 4
0
def main():
    # tf.compat.v1.enable_v2_behavior()
    print("tensorflow version =", tf.__version__)
    # get and save params of this run
    params = get_params()

    # dataset = Seq2SeqDataset_copy(
    #     input_path=params.input_dir,
    #     input_window_length_samples =params.input_window_length_samples,
    #     output_window_length_samples=params.output_window_length_samples,
    # )

    # train_dataset = tf.data.Dataset.from_generator((train_x, train_y),output_types=(tf.float64,tf.float64))
    # train_dataset = train_dataset.shuffle(buffer_size=100000)
    # train_dataset = train_dataset.repeat()

    datasetD = make_seq_2_seq_dataset(params)

    train_x = datasetD['train']['x']
    train_y = datasetD['train']['y']
    test_x = datasetD['test']['x']
    test_y = datasetD['test']['y']
    val_x = datasetD['val']['x']
    val_y = datasetD['val']['y']

    train_scenarios = datasetD['train']['scenarios']
    test_scenarios = datasetD['test']['scenarios']
    val_scenarios = datasetD['val']['scenarios']
    params.scaleD = datasetD['scaleD']  # store scaleD in params_out.yml

    model = create_model(params)
    model.compile(optimizer=params.optimizer,
                  loss=params.loss,
                  metrics=get_metrics(params))

    print(model.summary())

    history = model.fit([train_x], [train_y],
                        batch_size=32,
                        epochs=params.num_epochs,
                        callbacks=make_callbacks(params),
                        validation_data=([val_x], [val_y]),
                        validation_freq=1)

    # history = model.fit(dataset.train_dataset,
    #                     epochs=params.num_epochs,
    #                     steps_per_epoch=int(dataset.num_train),
    #                     # callbacks=make_callbacks(params),
    #                     validation_data=dataset.val_dataset,
    #                     validation_steps=int(dataset.num_val),
    #                     validation_freq=1)

    with open(os.path.join(params.output_dir, 'history.pickle'), 'wb') as f:
        pickle.dump(history.history, f)

    # score = model.evaluate(dataset.test_dataset)
    score = model.evaluate([test_x], [test_y])
    score = [float(s)
             for s in score]  # convert values in score from np.float to float
    params.score = score  # store score in params_out.yml

    if 'best_checkpoint' in params.callback_list:  # load weights from best checkpoint
        model.load_weights(
            os.path.join(params.output_dir, "best-checkpoint-weights.h5"))
    elif 'checkpoint' in params.callback_list:
        pass

    save_model(params, model)

    with open(os.path.join(params.output_dir, 'params_out.yml'), 'w') as f:
        yaml.dump(vars(params), f, default_flow_style=False)

    plot_metrics(params)
    plot_predictions(params, model, test_scenarios)
Exemplo n.º 5
0
def main():
    start = time.clock()
    params = get_params()

    datasetD = make_seq_2_seq_dataset(params)
    train_x = datasetD['train']['x']
    train_y = datasetD['train']['y']
    test_x = datasetD['test']['x']
    test_y = datasetD['test']['y']

    input_window_samps = params.input_window_length_samples
    num_signals = params.num_signals
    output_window_samps = params.output_window_length_samples
    train_X = np.array(train_x, dtype=float)
    train_Y = np.array(train_y, dtype=float)
    nsamples, nx = train_X.shape
    print(nsamples)
    print(nx)
    train_Y = np.reshape(train_Y,
                         (nsamples, output_window_samps * num_signals))

    test_X = np.array(test_x, dtype=float)
    print(test_X.shape)
    test_Y = np.array(test_y, dtype=float)
    test_sample, test_nx = test_X.shape
    test_Y = np.reshape(test_Y,
                        (test_sample, output_window_samps * num_signals))
    print(test_Y.shape)

    model_decision = DecisionTreeRegressor(random_state=0)
    model_decision.fit(train_X, train_Y)
    f = open(
        'C:/Users/HD1047208/OneDrive - Bose Corporation/Desktop/data/Hang_decisionTree.pickle',
        'wb')
    pickle.dump(model_decision, f)
    f.close()
    result_decision = model_decision.predict(test_X)
    score_decision = metrics.mean_squared_error(test_Y, result_decision)
    print(result_decision.shape)
    print(score_decision)
    plt.figure(1)
    plt.plot(np.arange(len(result_decision)),
             result_decision[:, 8],
             'r-',
             label='predict value_x0')
    plt.plot(np.arange(len(result_decision)),
             result_decision[:, 9],
             'b-',
             label='predict value_y0')
    plt.plot(np.arange(len(result_decision)),
             result_decision[:, 10],
             'g-',
             label='predict value_z0')
    plt.plot(np.arange(len(result_decision)),
             result_decision[:, 11],
             'y-',
             label='predict value_w0')
    plt.plot(np.arange(len(result_decision)),
             test_Y[:, 8],
             'k-',
             label='test value_x0')
    plt.plot(np.arange(len(result_decision)),
             test_Y[:, 9],
             'm-',
             label='test value_y0')
    plt.plot(np.arange(len(result_decision)),
             test_Y[:, 10],
             'c-',
             label='test value_z0')
    plt.plot(np.arange(len(result_decision)),
             test_Y[:, 11],
             'k-',
             label='test value_w0')
    plt.xlabel('length')
    plt.ylabel('result')
    plt.title('decision_tree prediction')
    plt.legend()
    plt.show()

    print(time.clock() - start)