def METHOD_NAME(args):
    dataset = load(args.dataset, args.feature_pre_normalize)
    graph = dataset.graph
    train_index = dataset.train_index
    train_label = dataset.train_label
    val_index = dataset.val_index
    val_label = dataset.val_label
    test_index = dataset.test_index
    test_label = dataset.test_label
    criterion = paddle.nn.loss.CrossEntropyLoss()
    dur = []
    best_test = []
    for run in range(args.runs):
        cal_val_acc = []
        cal_test_acc = []
        cal_val_loss = []
        cal_test_loss = []
        gnn_model = GATv2(
            input_size=graph.node_feat["words"].shape[1],
            num_class=dataset.num_classes,
            num_layers=2,
            feat_drop=0.6,
            attn_drop=0.6,
            num_heads=8,
            hidden_size=8,
        )
        optim = Adam(
            learning_rate=0.005, parameters=gnn_model.parameters(), weight_decay=0.0005
        )
        for epoch in tqdm.tqdm(range(200)):
            if epoch >= 3:
                start = time.time()
            train_loss, train_acc = train(
                train_index, train_label, gnn_model, graph, criterion, optim
            )
            if epoch >= 3:
                end = time.time()
                dur.append(end - start)
            val_loss, val_acc = eval(val_index, val_label, gnn_model, graph, criterion)
            cal_val_acc.append(val_acc.numpy())
            cal_val_loss.append(val_loss.numpy())
            test_loss, test_acc = eval(
                test_index, test_label, gnn_model, graph, criterion
            )
            cal_test_acc.append(test_acc.numpy())
            cal_test_loss.append(test_loss.numpy())
        log.info(
            "Runs %s: Model: GATv2 Best Test Accuracy: %f"
            % (run, cal_test_acc[np.argmin(cal_val_loss)])
        )
        best_test.append(cal_test_acc[np.argmin(cal_val_loss)])
    log.info("Average Speed %s sec/ epoch" % (np.mean(dur)))
    log.info(
        "Dataset: %s Best Test Accuracy: %f ( stddev: %f )"
        % (args.dataset, np.mean(best_test), np.std(best_test))
    )