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)
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)
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'] )
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'])
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'])