def test_extract_predict_runs(in_file, model_folder, predictions_file):

    df_transactions = pd.read_csv(in_file)
    df_features = extract_features(df_transactions, model_folder=model_folder)
    df_preds = predict(df_features, model_folder=model_folder)
    df_targets = extract_targets(df_transactions, model_folder=model_folder)

    df_preds_w_targets = df_preds.join(df_targets)
    df_preds_w_targets.to_csv(predictions_file)
Beispiel #2
0
def main():
    args = parse_arguments()
    if args.task not in ['haystack', 'form', 'issue', 'target', 'multi']:
        print("User error: --task must be either " +\
                        "haystack, form, issue, target or multi.")
        sys.exit(0)

    # Read the article as string into variable
    with open(args.article, 'r') as file:
        text = file.read().replace('\n', '')

    model, tokenizer = load_model(args)

    # Tokenize article as input to model
    text_tokenized = torch.tensor([tokenizer.encode(text)])

    results = predict(model, text_tokenized, args)
    print_results(results, args)
    if args.output_path != '':
        store_results(results, args)
Beispiel #3
0
        for name, param in net.collect_params().items():
            try:
                sw.add_histogram(tag = name + "_grad", values = param.grad(), global_step = global_step, bins = 1000)
            except:
                print(name)
                print(param.grad())

        # compute validation loss
        compute_val_loss(net, val_loader, loss_function, sw, epoch)

        # evaluate the model on testing set
        evaluate(net, test_loader, true_value, num_of_vertices, sw, epoch)

        params_filename = os.path.join(params_path, '%s_epoch_%s.params'%(model_name, epoch))
        net.save_parameters(params_filename)
        print('save parameters to file: %s'%(params_filename))
    
    # close SummaryWriter
    sw.close()

    if 'prediction_filename' in training_config:
        prediction_path = training_config['prediction_filename']

        prediction = predict(net, test_loader)

        np.savez_compressed(
            os.path.normpath(prediction_path), 
            prediction = prediction,
            ground_truth = all_data['test']['target']
        )
Beispiel #4
0
        evaluate(net, test_loader, true_value, supports, device, epoch)

        params_filename = os.path.join(
            params_path, '%s_epoch_%s_%s.params' %
            (model_name, epoch, str(round(valid_loss, 2))))
        torch.save(net.state_dict(), params_filename)
        print('save parameters to file: %s' % (params_filename))

    print("Training finished")
    print("Training time/epoch: %.2f secs/epoch" % np.mean(train_time))

    bestid = np.argmin(his_loss)

    print("The valid loss on best model is epoch%s_%s" %
          (str(bestid + 1), str(round(his_loss[bestid], 4))))
    best_params_filename = os.path.join(
        params_path, '%s_epoch_%s_%s.params' %
        (model_name, str(bestid + 1), str(round(his_loss[bestid], 2))))
    net.load_state_dict(torch.load(best_params_filename))
    start_time_test = time()
    prediction, spatial_at, parameter_adj = predict(net, test_loader, supports,
                                                    device)
    end_time_test = time()
    evaluate(net, test_loader, true_value, supports, device, epoch)
    test_time = np.mean(end_time_test - start_time_test)
    print("Test time: %.2f" % test_time)

    np.savez_compressed(os.path.normpath(prediction_path),
                        prediction=prediction,
                        ground_truth=all_data['test']['target'])
Beispiel #5
0
        params_filename = os.path.join(
            params_path, '%s_epoch_%s_%s.params' %
            (model_name, epoch, str(round(valid_loss, 2))))
        torch.save(net.state_dict(), params_filename)
        print('save parameters to file: %s' % (params_filename))

    print("Training finished")
    print("Training time/epoch: %.2f secs/epoch" % np.mean(train_time))

    bestid = np.argmin(his_loss)

    print("The valid loss on best model is epoch%s_%s" %
          (str(bestid + 1), str(round(his_loss[bestid], 4))))
    best_params_filename = os.path.join(
        params_path, '%s_epoch_%s_%s.params' %
        (model_name, str(bestid + 1), str(round(his_loss[bestid], 2))))
    net.load_state_dict(torch.load(best_params_filename))
    start_time_test = time()
    prediction, spatial_at, temporal_at = predict(net, test_loader, supports,
                                                  device)
    end_time_test = time()
    evaluate(net, test_loader, true_value, supports, device, epoch)
    test_time = np.mean(end_time_test - start_time_test)
    print("Test time: %.2f" % test_time)

    np.savez_compressed(os.path.normpath(prediction_path),
                        prediction=prediction,
                        spatial_at=spatial_at,
                        temporal_at=temporal_at,
                        ground_truth=all_data['test']['target'])