├── .gitignore ├── arch.png ├── neg.png ├── run ├── ogbn.py ├── readme.md ├── main.py └── run.log /.gitignore: -------------------------------------------------------------------------------- 1 | *.bak 2 | *.swp 3 | *.pyc 4 | remote_run 5 | -------------------------------------------------------------------------------- /arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cf020031308/LinkDist/HEAD/arch.png -------------------------------------------------------------------------------- /neg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cf020031308/LinkDist/HEAD/neg.png -------------------------------------------------------------------------------- /run: -------------------------------------------------------------------------------- 1 | #!/bin/bash - 2 | 3 | for dataset in cora citeseer pubmed corafull amazon-photo amazon-com coauthor-cs coauthor-phy; do 4 | for method in mlp gcn2mlp linkdistmlp colinkdistmlp gcn linkdist colinkdist; do 5 | while true; do 6 | python3 main.pyc "${method}-trans" $dataset 0 >> trans.log && break 7 | sleep 600 8 | done 9 | while true; do 10 | python3 main.pyc "${method}" $dataset 0 >> induc.log && break 11 | sleep 600 12 | done 13 | while true; do 14 | python3 main.pyc "${method}-trans" $dataset 6 >> full.log && break 15 | sleep 600 16 | done 17 | done 18 | done 19 | -------------------------------------------------------------------------------- /ogbn.py: -------------------------------------------------------------------------------- 1 | # Usage: python3 ogbn.py [arxiv|mag|products] 2 | 3 | import sys 4 | 5 | import torch 6 | import torch.nn as nn 7 | import torch.nn.functional as F 8 | import torch.optim as optim 9 | from torch.utils.data import DataLoader 10 | from ogb.nodeproppred import Evaluator, NodePropPredDataset 11 | 12 | g_data, *gcard = sys.argv[1:] 13 | gcard = int((gcard or [0])[0]) 14 | 15 | runs = 10 16 | iterations = 1000 17 | batch_size = 64 * 1024 18 | hid = 256 19 | n_layers = 3 20 | 21 | gpu = lambda x: x 22 | if torch.cuda.is_available() and gcard >= 0: 23 | dev = torch.device('cuda:%d' % gcard) 24 | gpu = lambda x: x.to(dev) 25 | 26 | 27 | def optimize(params, lr=0.01): 28 | if run == 0: 29 | print('params:', sum(p.numel() for p in params)) 30 | return optim.Adam(params, lr=lr) 31 | 32 | 33 | FC = ( 34 | lambda din, dout: gpu(nn.Sequential( 35 | nn.BatchNorm1d(din), 36 | nn.ReLU(), 37 | nn.Dropout(0.5), 38 | nn.Linear(din, dout))) 39 | ) if g_data == 'arxiv' else ( 40 | lambda din, dout: gpu(nn.Sequential( 41 | nn.ReLU(), 42 | nn.Linear(din, dout))) 43 | ) 44 | 45 | 46 | class LinkDist(nn.Module): 47 | def __init__(self, din, hid, dout, n_layers=3): 48 | super(self.__class__, self).__init__() 49 | self.inlayer = gpu(nn.Linear(din, hid)) 50 | self.layers = nn.ModuleList() 51 | for _ in range(n_layers - 2): 52 | self.layers.append(FC(hid, hid)) 53 | self.outlayer = FC(hid, dout) 54 | self.inflayer = FC(hid, dout) 55 | 56 | def forward(self, x): 57 | x = self.inlayer(x) 58 | for layer in self.layers: 59 | x = layer(x) 60 | return self.outlayer(x), self.inflayer(x) 61 | 62 | 63 | dataname = 'ogbn-%s' % g_data 64 | dataset = NodePropPredDataset(name=dataname) 65 | train_idx, valid_idx, test_idx = map( 66 | dataset.get_idx_split().get, 'train valid test'.split()) 67 | if g_data == 'mag': 68 | train_idx = train_idx['paper'] 69 | valid_idx = valid_idx['paper'] 70 | test_idx = test_idx['paper'] 71 | c = dataset.num_classes 72 | g, labels = dataset[0] 73 | if g_data == 'mag': 74 | labels = labels['paper'] 75 | g['edge_index'] = g['edge_index_dict'][('paper', 'cites', 'paper')] 76 | g['node_feat'] = g['node_feat_dict']['paper'] 77 | labels = torch.from_numpy(labels) 78 | Y = gpu(labels.clone().squeeze(-1)) 79 | Y[valid_idx] = -1 80 | Y[test_idx] = -1 81 | src, dst = torch.from_numpy(g['edge_index']) 82 | e = src.shape[0] 83 | X = gpu(torch.from_numpy(g['node_feat'])) 84 | n, d = X.shape 85 | 86 | train_nprob = train_idx.shape[0] / n 87 | train_eprob = ((Y[src] >= 0).sum() + (Y[dst] >= 0).sum()).item() / (2 * e) 88 | alpha = 1 - train_eprob 89 | beta = 0.05 90 | beta1 = beta * train_nprob / (train_nprob + train_eprob) 91 | beta2 = beta - beta1 92 | 93 | evaluator = Evaluator(name=dataname) 94 | best_metrics = [] 95 | smax = lambda x: torch.softmax(x, dim=-1) 96 | nidx = torch.arange(n) 97 | eidx = torch.arange(e) 98 | for run in range(runs): 99 | torch.manual_seed(run) 100 | linkdist = LinkDist(d, hid, c, n_layers) 101 | opt = optimize([*linkdist.parameters()]) 102 | metrics = [] 103 | for iteration in range(1, 1 + iterations): 104 | linkdist.train() 105 | opt.zero_grad() 106 | pidx = nidx[torch.randint(0, n, (batch_size, ))] 107 | perm = eidx[torch.randint(0, e, (batch_size, ))] 108 | psrc = src[perm] 109 | pdst = dst[perm] 110 | z, s = linkdist(X[pidx]) 111 | z1, s1 = linkdist(X[psrc]) 112 | z2, s2 = linkdist(X[pdst]) 113 | loss = alpha * ( 114 | F.mse_loss(z1, s2) + F.mse_loss(z2, s1) 115 | - 0.5 * ( 116 | F.mse_loss(smax(z1), smax(s)) 117 | + F.mse_loss(smax(z2), smax(s)) 118 | + F.mse_loss(smax(z), smax(s1)) 119 | + F.mse_loss(smax(z), smax(s2)))) 120 | m = Y[psrc] >= 0 121 | if m.any().item(): 122 | target = Y[psrc][m] 123 | loss = loss + ( 124 | F.cross_entropy(z1[m], target) 125 | + F.cross_entropy(s2[m], target) 126 | - beta1 * F.cross_entropy(s[m], target)) 127 | m = Y[pdst] >= 0 128 | if m.any().item(): 129 | target = Y[pdst][m] 130 | loss = loss + ( 131 | F.cross_entropy(z2[m], target) 132 | + F.cross_entropy(s1[m], target) 133 | - beta1 * F.cross_entropy(s[m], target)) 134 | m = Y[pidx] >= 0 135 | if m.any().item(): 136 | target = Y[pidx][m] 137 | loss = loss + ( 138 | 2 * F.cross_entropy(z[m], target) 139 | - beta2 * ( 140 | F.cross_entropy(s1[m], target) 141 | + F.cross_entropy(s2[m], target))) 142 | loss.backward() 143 | opt.step() 144 | if iteration % 5: 145 | continue 146 | with torch.no_grad(): 147 | linkdist.eval() 148 | Z = [] 149 | for perm in DataLoader(range(n), batch_size=batch_size): 150 | z, _ = linkdist(X[perm]) 151 | Z.append(z) 152 | Z = torch.cat(Z, dim=0) 153 | Z = Z.max(dim=1, keepdim=True).indices 154 | metric = [ 155 | evaluator.eval({'y_pred': Z[idx], 'y_true': labels[idx]})['acc'] 156 | for idx in (train_idx, valid_idx, test_idx)] 157 | # print(run, iteration, *metric) 158 | metrics.append(metric) 159 | metrics = torch.tensor(metrics) 160 | best_metrics.append(metrics[metrics.max(dim=0).indices[1]].tolist()) 161 | print(run, 'best:', best_metrics[-1]) 162 | best_metrics = torch.tensor(best_metrics) 163 | print('data:', dataname) 164 | for metric in zip( 165 | 'train valid test'.split(), 166 | best_metrics.mean(dim=0), 167 | best_metrics.std(dim=0)): 168 | print('%s: %.4f±%.4f' % metric) 169 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Distilling Self-Knowledge From Contrastive Links to Classify Graph Nodes Without Passing Messages 2 | 3 | *LinkDist* distils self-knowledge from links into a Multi-Layer Perceptron (MLP) without the need to aggregate messages. 4 | 5 | Experiments with 8 real-world datasets show the Learnt MLP (named *LinkDistMLP*) can predict the label of a node without knowing its adjacencies but achieve comparable accuracy against GNNs in the contexts of both semi- and full-supervised node classification tasks. 6 | 7 | We also introduce Contrastive Learning techniques to further boost the accuracy of LinkDist and LinkDistMLP (as *CoLinkDist* and *CoLinkDistMLP*). 8 | 9 | [中文概要](https://cf020031308.github.io/papers/2021-distilling-self-knowledge-from-contrastive-links-to-classify-graph-nodes-without-passing-messages/) 10 | 11 | ![Distilling Self-Knowledge From Links](arch.png) 12 | 13 | ![Contrastive Training With Negative Links](neg.png) 14 | 15 | ## State of the Art 16 | 17 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-cora)](https://paperswithcode.com/sota/node-classification-on-cora?p=distilling-self-knowledge-from-contrastive) 18 | 19 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-citeseer)](https://paperswithcode.com/sota/node-classification-on-citeseer?p=distilling-self-knowledge-from-contrastive) 20 | 21 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-pubmed)](https://paperswithcode.com/sota/node-classification-on-pubmed?p=distilling-self-knowledge-from-contrastive) 22 | 23 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-cora-full)](https://paperswithcode.com/sota/node-classification-on-cora-full?p=distilling-self-knowledge-from-contrastive) 24 | 25 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-amazon-photo-1)](https://paperswithcode.com/sota/node-classification-on-amazon-photo-1?p=distilling-self-knowledge-from-contrastive) 26 | 27 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-amazon-computers-1)](https://paperswithcode.com/sota/node-classification-on-amazon-computers-1?p=distilling-self-knowledge-from-contrastive) 28 | 29 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-coauthor-cs)](https://paperswithcode.com/sota/node-classification-on-coauthor-cs?p=distilling-self-knowledge-from-contrastive) 30 | 31 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-coauthor-physics)](https://paperswithcode.com/sota/node-classification-on-coauthor-physics?p=distilling-self-knowledge-from-contrastive) 32 | 33 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-cora-with-public-split)](https://paperswithcode.com/sota/node-classification-on-cora-with-public-split?p=distilling-self-knowledge-from-contrastive) 34 | 35 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-citeseer-with-public)](https://paperswithcode.com/sota/node-classification-on-citeseer-with-public?p=distilling-self-knowledge-from-contrastive) 36 | 37 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-pubmed-with-public)](https://paperswithcode.com/sota/node-classification-on-pubmed-with-public?p=distilling-self-knowledge-from-contrastive) 38 | 39 | [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/distilling-self-knowledge-from-contrastive/node-classification-on-cora-full-with-public)](https://paperswithcode.com/sota/node-classification-on-cora-full-with-public?p=distilling-self-knowledge-from-contrastive) 40 | 41 | | MLP-based Method | [ogbn-arxiv](https://ogb.stanford.edu/docs/leader_nodeprop/#ogbn-arxiv) | [ogbn-mag](https://ogb.stanford.edu/docs/leader_nodeprop/#ogbn-mag) | [ogbn-products](https://ogb.stanford.edu/docs/leader_nodeprop/#ogbn-products) | 42 | |------------------------------------------------|---------------------|---------------------|---------------------| 43 | | MLP | 0.5550 ± 0.0023 | 0.2692 ± 0.0026 | 0.6106 ± 0.0008 | 44 | | MLP + [FLAG](https://github.com/devnkong/FLAG) | 0.5602 ± 0.0019 | - | 0.6241 ± 0.0016 | 45 | | CoLinkDistMLP | **0.5638 ± 0.0016** | **0.2761 ± 0.0018** | **0.6259 ± 0.0010** | 46 | 47 | ## Requirements 48 | 49 | Install dependencies [torch](https://pytorch.org/) and [DGL](https://github.com/dmlc/dgl): 50 | 51 | ```bash 52 | pip3 install torch ogb 53 | ``` 54 | 55 | ## Reproducibility 56 | 57 | Run the script with arguments `algorithm_name`, `dataset_name`, and `dataset_split`. 58 | 59 | * Available algorithms: mlp, gcn, gcn2mlp, linkdistmlp, linkdist, colinkdsitmlp, colinkdist. 60 | * If the `algorithm_name` ends with `-trans`, the experiment is run with the transductive setting. Otherwise, it is run with inductive setting. 61 | * Available datasets: cora / citeseer / pubmed / corafull / amazon-photo / amazon-com / coauthor-cs / coauthor-phy 62 | * We divide the dataset into a training set with `dataset_split` out of ten nodes, a validation set and a testing set. If `dataset_split` is 0, we select at most 20 nodes from every class to construct the training set. 63 | 64 | The following command experiments **GCN** on **Cora** dataset with the inductive setting: 65 | 66 | ```bash 67 | python3 main.py gcn cora 0 68 | ``` 69 | 70 | The following command experiments **CoLinkDistMLP** on **Amazon Photo** dataset with the transductive setting, the Amazon Photo dataset is divided into a training set of 60% nodes, a validation set of 20% nodes, and a testing set of 20% nodes: 71 | 72 | ```bash 73 | python3 main.py colinkdistmlp-trans amazon-photo 6 74 | ``` 75 | 76 | To reproduce all experiments in our paper, run 77 | 78 | ```bash 79 | bash run 80 | ``` 81 | 82 | The output logs will be saved into `trans.log`, `induc.log`, and `full.log`. 83 | 84 | ## Citation 85 | 86 | ```bibtex 87 | @article{2106.08541v1, 88 | author = {Yi Luo and Aiguo Chen and Ke Yan and Ling Tian}, 89 | eprint = {2106.08541v1}, 90 | month = {Jun}, 91 | title = {Distilling Self-Knowledge From Contrastive Links to Classify Graph Nodes 92 | Without Passing Messages}, 93 | type = {article}, 94 | url = {http://arxiv.org/abs/2106.08541v1}, 95 | year = {2021}, 96 | } 97 | ``` 98 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import time 3 | 4 | import numpy 5 | import torch 6 | import torch.nn as nn 7 | import torch.nn.functional as F 8 | import torch.optim as optim 9 | from torch.utils.data import DataLoader 10 | import dgl 11 | 12 | 13 | if len(sys.argv) > 2: 14 | g_method, g_data, g_split, *gcard = sys.argv[1:] 15 | gcard.append('0') 16 | else: 17 | g_method = 'lpa' 18 | g_data = 'cora' 19 | g_split = '0' 20 | gcard = [0] 21 | g_split = float(g_split) 22 | epochs = 200 23 | batch_size = 1024 24 | hid = 256 25 | n_layers = 3 26 | 27 | gcard = int(gcard[0]) 28 | gpu = lambda x: x 29 | if torch.cuda.is_available() and gcard >= 0: 30 | dev = torch.device('cuda:%d' % gcard) 31 | gpu = lambda x: x.to(dev) 32 | 33 | 34 | def optimize(params, lr=0.01): 35 | if run == 0: 36 | print('params:', sum(p.numel() for p in params)) 37 | return optim.Adam(params, lr=lr) 38 | 39 | 40 | def speye(n): 41 | return torch.sparse_coo_tensor( 42 | torch.arange(n).view(1, -1).repeat(2, 1), [1] * n) 43 | 44 | 45 | def spnorm(A, eps=1e-5): 46 | D = (torch.sparse.sum(A, dim=1).to_dense() + eps) ** -1 47 | indices = A._indices() 48 | return gpu(torch.sparse_coo_tensor(indices, D[indices[0]], size=A.size())) 49 | 50 | 51 | def FC(din, dout): 52 | return gpu(nn.Sequential( 53 | nn.BatchNorm1d(din), 54 | nn.LayerNorm(din), 55 | nn.LeakyReLU(), 56 | nn.Dropout(0.5), 57 | nn.Linear(din, dout))) 58 | 59 | 60 | class MLP(nn.Module): 61 | def __init__(self, din, hid, dout, n_layers=3, A=None): 62 | super(self.__class__, self).__init__() 63 | self.A = A 64 | self.layers = nn.ModuleList() 65 | self.layers.append(gpu(nn.Linear(din, hid))) 66 | for _ in range(n_layers - 2): 67 | self.layers.append(FC(hid, hid)) 68 | self.layers.append(FC(hid, dout)) 69 | 70 | def forward(self, x): 71 | for layer in self.layers: 72 | if self.A is not None: 73 | x = self.A @ x 74 | x = layer(x) 75 | return x 76 | 77 | 78 | GCN = MLP 79 | 80 | 81 | class LinkDist(nn.Module): 82 | def __init__(self, din, hid, dout, n_layers=3): 83 | super(self.__class__, self).__init__() 84 | self.mlp = MLP(din, hid, hid, n_layers=n_layers - 1) 85 | self.out = FC(hid, dout) 86 | self.inf = FC(hid, dout) 87 | 88 | def forward(self, x): 89 | x = self.mlp(x) 90 | return self.out(x), self.inf(x) 91 | 92 | 93 | graph = ( 94 | dgl.data.CoraGraphDataset() if g_data == 'cora' 95 | else dgl.data.CiteseerGraphDataset() if g_data == 'citeseer' 96 | else dgl.data.PubmedGraphDataset() if g_data == 'pubmed' 97 | else dgl.data.CoraFullDataset() if g_data == 'corafull' 98 | else dgl.data.CoauthorCSDataset() if g_data == 'coauthor-cs' 99 | else dgl.data.CoauthorPhysicsDataset() if g_data == 'coauthor-phy' 100 | else dgl.data.RedditDataset() if g_data == 'reddit' 101 | else dgl.data.AmazonCoBuyComputerDataset() 102 | if g_data == 'amazon-com' 103 | else dgl.data.AmazonCoBuyPhotoDataset() if g_data == 'amazon-photo' 104 | else None 105 | )[0] 106 | X = node_features = gpu(graph.ndata['feat']) 107 | Y = node_labels = gpu(graph.ndata['label']) 108 | n_nodes = node_features.shape[0] 109 | nrange = torch.arange(n_nodes) 110 | n_features = node_features.shape[1] 111 | n_labels = int(Y.max().item() + 1) 112 | src, dst = graph.edges() 113 | n_edges = src.shape[0] 114 | is_bidir = ((dst == src[0]) & (src == dst[0])).any().item() 115 | print('BiDirection: %s' % is_bidir) 116 | print('nodes: %d' % n_nodes) 117 | print('features: %d' % n_features) 118 | print('classes: %d' % n_labels) 119 | print('edges: %d' % ( 120 | (n_edges - (src == dst).sum().item()) / (1 + is_bidir))) 121 | degree = n_edges * (2 - is_bidir) / n_nodes 122 | print('degree: %.2f' % degree) 123 | 124 | 125 | class Stat(object): 126 | def __init__(self, name=''): 127 | self.name = name 128 | self.accs = [] 129 | self.times = [] 130 | self.best_accs = [] 131 | self.best_times = [] 132 | 133 | def __call__(self, logits, startfrom=0): 134 | self.accs.append([ 135 | ((logits[mask].max(dim=1).indices == Y[mask]).sum() 136 | / gpu(mask).sum().float()).item() 137 | for mask in (train_mask, valid_mask, test_mask) 138 | ]) 139 | self.times.append(time.time() - self.tick) 140 | return self.accs[-1][0] 141 | 142 | def start_run(self): 143 | self.tick = time.time() 144 | 145 | def end_run(self): 146 | self.accs = torch.tensor(self.accs) 147 | print('best:', self.accs.max(dim=0).values) 148 | idx = self.accs.max(dim=0).indices[1] 149 | self.best_accs.append((idx, self.accs[idx, 2])) 150 | self.best_times.append(self.times[idx]) 151 | self.accs = [] 152 | self.times = [] 153 | print('best:', self.best_accs[-1]) 154 | 155 | def end_all(self): 156 | conv = 1.0 + torch.tensor([idx for idx, _ in self.best_accs]) 157 | acc = 100 * torch.tensor([acc for _, acc in self.best_accs]) 158 | tm = torch.tensor(self.best_times) 159 | print(self.name) 160 | print('time:%.3f±%.3f' % (tm.mean().item(), tm.std().item())) 161 | print('conv:%.3f±%.3f' % (conv.mean().item(), conv.std().item())) 162 | print('acc:%.2f±%.2f' % (acc.mean().item(), acc.std().item())) 163 | 164 | 165 | evaluate = Stat( 166 | name='data: %s, method: %s, split: %d' % (g_data, g_method, 10 * g_split)) 167 | for run in range(10): 168 | torch.manual_seed(run) 169 | if g_split == 6 and '-full' in g_method: 170 | split = numpy.load('data/%s_split_0.6_0.2_%d.npz' % (g_data, run)) 171 | train_mask = torch.from_numpy(split['train_mask']).bool() 172 | valid_mask = torch.from_numpy(split['val_mask']).bool() 173 | test_mask = torch.from_numpy(split['test_mask']).bool() 174 | elif g_split: 175 | train_mask = torch.zeros(n_nodes, dtype=bool) 176 | valid_mask = torch.zeros(n_nodes, dtype=bool) 177 | test_mask = torch.zeros(n_nodes, dtype=bool) 178 | idx = torch.randperm(n_nodes) 179 | val_num = test_num = int(n_nodes * (1 - 0.1 * g_split) / 2) 180 | train_mask[idx[val_num + test_num:]] = True 181 | valid_mask[idx[:val_num]] = True 182 | test_mask[idx[val_num:val_num + test_num]] = True 183 | elif 'train_mask' in graph.ndata: 184 | train_mask = graph.ndata['train_mask'] 185 | valid_mask = graph.ndata['val_mask'] 186 | test_mask = graph.ndata['test_mask'] 187 | else: 188 | # split dataset like Cora, Citeseer and Pubmed 189 | train_mask = torch.zeros(n_nodes, dtype=bool) 190 | for y in range(n_labels): 191 | label_mask = (graph.ndata['label'] == y) 192 | train_mask[ 193 | nrange[label_mask][torch.randperm(label_mask.sum())[:20]] 194 | ] = True 195 | print(node_labels[train_mask].float().histc(n_labels)) 196 | valid_mask = ~train_mask 197 | valid_mask[ 198 | nrange[valid_mask][torch.randperm(valid_mask.sum())[500:]] 199 | ] = False 200 | test_mask = ~(train_mask | valid_mask) 201 | test_mask[ 202 | nrange[test_mask][torch.randperm(test_mask.sum())[1000:]] 203 | ] = False 204 | print(train_mask.sum(), valid_mask.sum(), test_mask.sum()) 205 | train_idx = nrange[train_mask] 206 | known_idx = nrange[~(valid_mask | test_mask)] 207 | E = speye(n_nodes) 208 | if '-trans' in g_method: 209 | A = [spnorm(graph.adj() + E, eps=0)] * 2 210 | else: 211 | # Inductive Settings 212 | src, dst = graph.edges() 213 | flt = ~( 214 | valid_mask[src] | test_mask[src] 215 | | valid_mask[dst] | test_mask[dst]) 216 | src = src[flt] 217 | dst = dst[flt] 218 | n_edges = src.shape[0] 219 | A = torch.sparse_coo_tensor( 220 | torch.cat(( 221 | torch.cat((src, dst), dim=0).unsqueeze(0), 222 | torch.cat((dst, src), dim=0).unsqueeze(0)), dim=0), 223 | values=torch.ones(2 * n_edges), 224 | size=(n_nodes, n_nodes)) 225 | A = (spnorm(A + E), spnorm(graph.adj() + E, eps=0)) 226 | if 'linkdist' in g_method: 227 | A = spnorm(graph.adj()) 228 | evaluate.start_run() 229 | if g_method in ('mlp', 'mlp-trans'): 230 | mlp = MLP(n_features, hid, n_labels, n_layers=n_layers) 231 | opt = optimize([*mlp.parameters()]) 232 | for epoch in range(1, 1 + epochs): 233 | mlp.train() 234 | for perm in DataLoader( 235 | train_idx, batch_size=batch_size, shuffle=True): 236 | opt.zero_grad() 237 | F.cross_entropy(mlp(X[perm]), Y[perm]).backward() 238 | opt.step() 239 | with torch.no_grad(): 240 | mlp.eval() 241 | evaluate(mlp(X)) 242 | elif g_method in ('gcn', 'gcn-trans'): 243 | gcn = GCN(n_features, hid, n_labels, n_layers=n_layers) 244 | opt = optimize([*gcn.parameters()]) 245 | for epoch in range(1, 1 + epochs): 246 | gcn.train() 247 | gcn.A = A[0] 248 | opt.zero_grad() 249 | F.cross_entropy(gcn(X)[train_mask], Y[train_mask]).backward() 250 | opt.step() 251 | with torch.no_grad(): 252 | gcn.eval() 253 | gcn.A = A[1] 254 | evaluate(gcn(X)) 255 | elif g_method in ('gcn2mlp', 'gcn2mlp-trans'): 256 | gcn = GCN(n_features, hid, n_labels, n_layers=n_layers) 257 | opt = optimize([*gcn.parameters()]) 258 | best_acc = 0 259 | ev2 = Stat() 260 | ev2.start_run() 261 | for epoch in range(1, 1 + epochs): 262 | gcn.train() 263 | opt.zero_grad() 264 | gcn.A = A[0] 265 | F.cross_entropy(gcn(X)[train_mask], Y[train_mask]).backward() 266 | opt.step() 267 | with torch.no_grad(): 268 | gcn.eval() 269 | gcn.A = A[1] 270 | logits = gcn(X) 271 | ev2(logits) 272 | acc = ev2.accs[-1][1] 273 | if acc > best_acc: 274 | best_acc = acc 275 | probs = torch.softmax(logits.detach(), dim=-1) 276 | mlp = MLP(n_features, hid, n_labels, n_layers=n_layers) 277 | opt = optimize([*mlp.parameters()]) 278 | for epoch in range(1, 1 + epochs): 279 | mlp.train() 280 | for perm in DataLoader( 281 | known_idx, batch_size=batch_size, shuffle=True): 282 | opt.zero_grad() 283 | F.kl_div( 284 | F.log_softmax(mlp(X[perm]), dim=-1), probs[perm] 285 | ).backward() 286 | opt.step() 287 | with torch.no_grad(): 288 | mlp.eval() 289 | evaluate(mlp(X)) 290 | elif 'linkdist' in g_method: 291 | linkdist = LinkDist(n_features, hid, n_labels, n_layers=n_layers) 292 | opt = optimize([*linkdist.parameters()]) 293 | if '-trans' in g_method: 294 | src, dst = graph.edges() 295 | n_edges = src.shape[0] 296 | # Ratio of known labels in nodes 297 | train_nprob = train_mask.sum().item() / n_nodes 298 | # Ratio of known labels in edges 299 | train_eprob = (( 300 | train_mask[src].sum() + train_mask[dst].sum() 301 | ) / (2 * n_edges)).item() 302 | # Hyperparameter alpha 303 | alpha = 1 - train_eprob 304 | label_ndist = Y[ 305 | torch.arange(n_nodes)[train_mask]].float().histc(n_labels) 306 | label_edist = ( 307 | Y[src[train_mask[src]]].float().histc(n_labels) 308 | + Y[dst[train_mask[dst]]].float().histc(n_labels)) 309 | # label_edist = label_edist + 1 310 | weight = n_labels * F.normalize( 311 | label_ndist / label_edist, p=1, dim=0) 312 | for epoch in range(1, 1 + int(epochs // degree)): 313 | linkdist.train() 314 | if g_method.startswith('colinkdist'): 315 | # Hyperparameter beta 316 | if g_split: 317 | beta = 0.1 318 | beta1 = beta * train_nprob / (train_nprob + train_eprob) 319 | beta2 = beta - beta1 320 | else: 321 | beta1 = train_nprob 322 | beta2 = train_eprob 323 | idx = torch.randint(0, n_nodes, (n_edges, )) 324 | smax = lambda x: torch.softmax(x, dim=-1) 325 | for perm in DataLoader( 326 | range(n_edges), batch_size=batch_size, shuffle=True): 327 | opt.zero_grad() 328 | pidx = idx[perm] 329 | psrc = src[perm] 330 | pdst = dst[perm] 331 | y, z = linkdist(X[pidx]) 332 | y1, z1 = linkdist(X[psrc]) 333 | y2, z2 = linkdist(X[pdst]) 334 | loss = alpha * ( 335 | F.mse_loss(y1, z2) + F.mse_loss(y2, z1) 336 | - 0.5 * ( 337 | F.mse_loss(smax(y1), smax(z)) 338 | + F.mse_loss(smax(y2), smax(z)) 339 | + F.mse_loss(smax(y), smax(z1)) 340 | + F.mse_loss(smax(y), smax(z2)) 341 | ) 342 | ) 343 | m = train_mask[psrc] 344 | if m.any().item(): 345 | target = Y[psrc][m] 346 | loss = loss + ( 347 | F.cross_entropy(y1[m], target, weight=weight) 348 | + F.cross_entropy(z2[m], target, weight=weight) 349 | - beta1 * F.cross_entropy( 350 | z[m], target, weight=weight)) 351 | m = train_mask[pdst] 352 | if m.any().item(): 353 | target = Y[pdst][m] 354 | loss = loss + ( 355 | F.cross_entropy(y2[m], target, weight=weight) 356 | + F.cross_entropy(z1[m], target, weight=weight) 357 | - beta1 * F.cross_entropy( 358 | z[m], target, weight=weight)) 359 | m = train_mask[pidx] 360 | if m.any().item(): 361 | target = Y[pidx][m] 362 | loss = loss + ( 363 | 2 * F.cross_entropy(y[m], target) 364 | - beta2 * ( 365 | F.cross_entropy(z1[m], target) 366 | + F.cross_entropy(z2[m], target))) 367 | loss.backward() 368 | opt.step() 369 | else: 370 | for perm in DataLoader( 371 | range(n_edges), batch_size=batch_size, shuffle=True): 372 | opt.zero_grad() 373 | psrc = src[perm] 374 | pdst = dst[perm] 375 | y1, z1 = linkdist(X[psrc]) 376 | y2, z2 = linkdist(X[pdst]) 377 | loss = alpha * (F.mse_loss(y1, z2) + F.mse_loss(y2, z1)) 378 | m = train_mask[psrc] 379 | if m.any().item(): 380 | target = Y[psrc][m] 381 | loss = loss + ( 382 | F.cross_entropy(y1[m], target, weight=weight) 383 | + F.cross_entropy(z2[m], target, weight=weight)) 384 | m = train_mask[pdst] 385 | if m.any().item(): 386 | target = Y[pdst][m] 387 | loss = loss + ( 388 | F.cross_entropy(y2[m], target, weight=weight) 389 | + F.cross_entropy(z1[m], target, weight=weight)) 390 | loss.backward() 391 | opt.step() 392 | with torch.no_grad(): 393 | linkdist.eval() 394 | Z, S = linkdist(X) 395 | if 'mlp' in g_method: 396 | evaluate(Z) 397 | else: 398 | evaluate( 399 | F.log_softmax(Z, dim=-1) 400 | + alpha * (A @ F.log_softmax(S, dim=-1))) 401 | else: 402 | # Label Propagation 403 | alpha = 0.4 404 | Z = gpu(torch.zeros(n_nodes, n_labels)) 405 | train_probs = gpu(F.one_hot(Y, n_labels)[train_mask].float()) 406 | for _ in range(50): 407 | Z[train_mask] = train_probs 408 | Z = (1 - alpha) * Z + alpha * (A[1] @ Z) 409 | evaluate(Z) 410 | evaluate.end_run() 411 | evaluate.end_all() 412 | -------------------------------------------------------------------------------- /run.log: -------------------------------------------------------------------------------- 1 | NumNodes: 2708 2 | NumEdges: 10556 3 | NumFeats: 1433 4 | NumClasses: 7 5 | NumTrainingSamples: 140 6 | NumValidationSamples: 500 7 | NumTestSamples: 1000 8 | Done loading data from cached files. 9 | BiDirection: True 10 | nodes: 2708 11 | features: 1433 12 | classes: 7 13 | edges: 5278 14 | degree: 3.90 15 | params: 436743 16 | best: tensor([1.0000, 0.5940, 0.5780]) 17 | best: (tensor(99), tensor(0.5740)) 18 | best: tensor([1.0000, 0.5960, 0.5750]) 19 | best: (tensor(178), tensor(0.5710)) 20 | best: tensor([1.0000, 0.5940, 0.5800]) 21 | best: (tensor(148), tensor(0.5640)) 22 | best: tensor([1.0000, 0.5680, 0.5560]) 23 | best: (tensor(168), tensor(0.5530)) 24 | best: tensor([1.0000, 0.5720, 0.5650]) 25 | best: (tensor(80), tensor(0.5580)) 26 | best: tensor([1.0000, 0.5780, 0.5750]) 27 | best: (tensor(68), tensor(0.5630)) 28 | best: tensor([1.0000, 0.5760, 0.5740]) 29 | best: (tensor(197), tensor(0.5710)) 30 | best: tensor([1.0000, 0.5620, 0.5580]) 31 | best: (tensor(189), tensor(0.5460)) 32 | best: tensor([1.0000, 0.5920, 0.5710]) 33 | best: (tensor(122), tensor(0.5610)) 34 | best: tensor([1.0000, 0.5640, 0.5700]) 35 | best: (tensor(77), tensor(0.5670)) 36 | data: cora, method: mlp-trans 37 | time:0.678±0.252 38 | conv:133.600±49.612 39 | acc:56.28±0.87 40 | NumNodes: 2708 41 | NumEdges: 10556 42 | NumFeats: 1433 43 | NumClasses: 7 44 | NumTrainingSamples: 140 45 | NumValidationSamples: 500 46 | NumTestSamples: 1000 47 | Done loading data from cached files. 48 | BiDirection: True 49 | nodes: 2708 50 | features: 1433 51 | classes: 7 52 | edges: 5278 53 | degree: 3.90 54 | params: 436743 55 | params: 436743 56 | best: tensor([1.0000, 0.6740, 0.6920]) 57 | best: (tensor(186), tensor(0.6780)) 58 | best: tensor([1.0000, 0.6480, 0.6970]) 59 | best: (tensor(16), tensor(0.6740)) 60 | best: tensor([1.0000, 0.6680, 0.6880]) 61 | best: (tensor(40), tensor(0.6840)) 62 | best: tensor([1.0000, 0.6640, 0.6980]) 63 | best: (tensor(67), tensor(0.6760)) 64 | best: tensor([1.0000, 0.6480, 0.6900]) 65 | best: (tensor(34), tensor(0.6710)) 66 | best: tensor([1.0000, 0.6720, 0.6950]) 67 | best: (tensor(153), tensor(0.6830)) 68 | best: tensor([1.0000, 0.6560, 0.6890]) 69 | best: (tensor(44), tensor(0.6800)) 70 | best: tensor([1.0000, 0.6620, 0.6900]) 71 | best: (tensor(24), tensor(0.6630)) 72 | best: tensor([1.0000, 0.6720, 0.6950]) 73 | best: (tensor(22), tensor(0.6880)) 74 | best: tensor([1.0000, 0.6680, 0.6880]) 75 | best: (tensor(76), tensor(0.6640)) 76 | data: cora, method: gcn-trans2mlp 77 | time:2.546±0.596 78 | conv:67.200±58.170 79 | acc:67.61±0.83 80 | NumNodes: 2708 81 | NumEdges: 10556 82 | NumFeats: 1433 83 | NumClasses: 7 84 | NumTrainingSamples: 140 85 | NumValidationSamples: 500 86 | NumTestSamples: 1000 87 | Done loading data from cached files. 88 | BiDirection: True 89 | nodes: 2708 90 | features: 1433 91 | classes: 7 92 | edges: 5278 93 | degree: 3.90 94 | params: 439566 95 | best: tensor([1.0000, 0.7860, 0.8160]) 96 | best: (tensor(3), tensor(0.8050)) 97 | best: tensor([1.0000, 0.7860, 0.8240]) 98 | best: (tensor(13), tensor(0.8180)) 99 | best: tensor([1.0000, 0.7880, 0.8160]) 100 | best: (tensor(5), tensor(0.8090)) 101 | best: tensor([1.0000, 0.7820, 0.8190]) 102 | best: (tensor(8), tensor(0.8090)) 103 | best: tensor([1.0000, 0.7760, 0.8140]) 104 | best: (tensor(15), tensor(0.8050)) 105 | best: tensor([1.0000, 0.7820, 0.8180]) 106 | best: (tensor(5), tensor(0.8030)) 107 | best: tensor([1.0000, 0.7880, 0.8170]) 108 | best: (tensor(7), tensor(0.8080)) 109 | best: tensor([1.0000, 0.7820, 0.8100]) 110 | best: (tensor(7), tensor(0.8040)) 111 | best: tensor([1.0000, 0.7840, 0.8120]) 112 | best: (tensor(9), tensor(0.8080)) 113 | best: tensor([1.0000, 0.7860, 0.8220]) 114 | best: (tensor(13), tensor(0.8100)) 115 | data: cora, method: linkdist-nomp-trans 116 | time:0.843±0.347 117 | conv:9.500±3.979 118 | acc:80.79±0.43 119 | NumNodes: 2708 120 | NumEdges: 10556 121 | NumFeats: 1433 122 | NumClasses: 7 123 | NumTrainingSamples: 140 124 | NumValidationSamples: 500 125 | NumTestSamples: 1000 126 | Done loading data from cached files. 127 | BiDirection: True 128 | nodes: 2708 129 | features: 1433 130 | classes: 7 131 | edges: 5278 132 | degree: 3.90 133 | params: 436743 134 | best: tensor([1.0000, 0.7540, 0.7810]) 135 | best: (tensor(91), tensor(0.7720)) 136 | best: tensor([1.0000, 0.7620, 0.7770]) 137 | best: (tensor(104), tensor(0.7740)) 138 | best: tensor([1.0000, 0.7600, 0.7730]) 139 | best: (tensor(135), tensor(0.7430)) 140 | best: tensor([1.0000, 0.7500, 0.7600]) 141 | best: (tensor(61), tensor(0.7580)) 142 | best: tensor([1.0000, 0.7600, 0.7880]) 143 | best: (tensor(27), tensor(0.7490)) 144 | best: tensor([1.0000, 0.7640, 0.7820]) 145 | best: (tensor(108), tensor(0.7700)) 146 | best: tensor([1.0000, 0.7660, 0.7740]) 147 | best: (tensor(54), tensor(0.7690)) 148 | best: tensor([1.0000, 0.7660, 0.7840]) 149 | best: (tensor(116), tensor(0.7640)) 150 | best: tensor([1.0000, 0.7580, 0.7810]) 151 | best: (tensor(59), tensor(0.7740)) 152 | best: tensor([1.0000, 0.7720, 0.7800]) 153 | best: (tensor(81), tensor(0.7740)) 154 | data: cora, method: gcn-trans 155 | time:0.769±0.299 156 | conv:84.600±33.267 157 | acc:76.47±1.12 158 | NumNodes: 2708 159 | NumEdges: 10556 160 | NumFeats: 1433 161 | NumClasses: 7 162 | NumTrainingSamples: 140 163 | NumValidationSamples: 500 164 | NumTestSamples: 1000 165 | Done loading data from cached files. 166 | BiDirection: True 167 | nodes: 2708 168 | features: 1433 169 | classes: 7 170 | edges: 5278 171 | degree: 3.90 172 | params: 439566 173 | best: tensor([1.0000, 0.7840, 0.8230]) 174 | best: (tensor(19), tensor(0.8070)) 175 | best: tensor([1.0000, 0.7820, 0.8300]) 176 | best: (tensor(6), tensor(0.8240)) 177 | best: tensor([1.0000, 0.7840, 0.8220]) 178 | best: (tensor(3), tensor(0.8160)) 179 | best: tensor([1.0000, 0.7820, 0.8170]) 180 | best: (tensor(7), tensor(0.8160)) 181 | best: tensor([1.0000, 0.7740, 0.8140]) 182 | best: (tensor(3), tensor(0.7960)) 183 | best: tensor([1.0000, 0.7800, 0.8200]) 184 | best: (tensor(3), tensor(0.8110)) 185 | best: tensor([1.0000, 0.7840, 0.8190]) 186 | best: (tensor(4), tensor(0.8150)) 187 | best: tensor([1.0000, 0.7920, 0.8170]) 188 | best: (tensor(7), tensor(0.8090)) 189 | best: tensor([1.0000, 0.7820, 0.8180]) 190 | best: (tensor(1), tensor(0.7980)) 191 | best: tensor([1.0000, 0.7840, 0.8200]) 192 | best: (tensor(10), tensor(0.8130)) 193 | data: cora, method: linkdist-trans 194 | time:0.659±0.463 195 | conv:7.300±5.187 196 | acc:81.05±0.85 197 | NumNodes: 3327 198 | NumEdges: 9228 199 | NumFeats: 3703 200 | NumClasses: 6 201 | NumTrainingSamples: 120 202 | NumValidationSamples: 500 203 | NumTestSamples: 1000 204 | Done loading data from cached files. 205 | BiDirection: True 206 | nodes: 3327 207 | features: 3703 208 | classes: 6 209 | edges: 4552 210 | degree: 2.77 211 | params: 1017606 212 | best: tensor([1.0000, 0.5500, 0.5720]) 213 | best: (tensor(67), tensor(0.5560)) 214 | best: tensor([1.0000, 0.5240, 0.5470]) 215 | best: (tensor(34), tensor(0.5370)) 216 | best: tensor([1.0000, 0.5260, 0.5350]) 217 | best: (tensor(149), tensor(0.5270)) 218 | best: tensor([1.0000, 0.5560, 0.5770]) 219 | best: (tensor(197), tensor(0.5540)) 220 | best: tensor([1.0000, 0.5400, 0.5650]) 221 | best: (tensor(56), tensor(0.5510)) 222 | best: tensor([1.0000, 0.5400, 0.5570]) 223 | best: (tensor(82), tensor(0.5480)) 224 | best: tensor([1.0000, 0.5580, 0.5730]) 225 | best: (tensor(71), tensor(0.5630)) 226 | best: tensor([1.0000, 0.5600, 0.5540]) 227 | best: (tensor(77), tensor(0.5400)) 228 | best: tensor([1.0000, 0.5140, 0.5450]) 229 | best: (tensor(199), tensor(0.5410)) 230 | best: tensor([1.0000, 0.5460, 0.5610]) 231 | best: (tensor(92), tensor(0.5570)) 232 | data: citeseer, method: mlp-trans 233 | time:0.565±0.312 234 | conv:103.400±58.397 235 | acc:54.74±1.10 236 | NumNodes: 3327 237 | NumEdges: 9228 238 | NumFeats: 3703 239 | NumClasses: 6 240 | NumTrainingSamples: 120 241 | NumValidationSamples: 500 242 | NumTestSamples: 1000 243 | Done loading data from cached files. 244 | BiDirection: True 245 | nodes: 3327 246 | features: 3703 247 | classes: 6 248 | edges: 4552 249 | degree: 2.77 250 | params: 1017606 251 | params: 1017606 252 | best: tensor([0.9917, 0.6520, 0.6580]) 253 | best: (tensor(127), tensor(0.6390)) 254 | best: tensor([1.0000, 0.6420, 0.6440]) 255 | best: (tensor(5), tensor(0.6350)) 256 | best: tensor([1.0000, 0.6680, 0.6570]) 257 | best: (tensor(10), tensor(0.6530)) 258 | best: tensor([0.9917, 0.6480, 0.6550]) 259 | best: (tensor(60), tensor(0.6430)) 260 | best: tensor([1.0000, 0.6360, 0.6540]) 261 | best: (tensor(140), tensor(0.6310)) 262 | best: tensor([1.0000, 0.6380, 0.6570]) 263 | best: (tensor(8), tensor(0.6410)) 264 | best: tensor([1.0000, 0.6260, 0.6530]) 265 | best: (tensor(14), tensor(0.6330)) 266 | best: tensor([0.9917, 0.6340, 0.6490]) 267 | best: (tensor(8), tensor(0.6030)) 268 | best: tensor([1.0000, 0.6020, 0.6160]) 269 | best: (tensor(48), tensor(0.6020)) 270 | best: tensor([1.0000, 0.6480, 0.6530]) 271 | best: (tensor(5), tensor(0.6490)) 272 | data: citeseer, method: gcn-trans2mlp 273 | time:2.912±0.615 274 | conv:43.500±51.688 275 | acc:63.29±1.74 276 | NumNodes: 3327 277 | NumEdges: 9228 278 | NumFeats: 3703 279 | NumClasses: 6 280 | NumTrainingSamples: 120 281 | NumValidationSamples: 500 282 | NumTestSamples: 1000 283 | Done loading data from cached files. 284 | BiDirection: True 285 | nodes: 3327 286 | features: 3703 287 | classes: 6 288 | edges: 4552 289 | degree: 2.77 290 | params: 1020172 291 | best: tensor([1.0000, 0.7060, 0.7090]) 292 | best: (tensor(20), tensor(0.7060)) 293 | best: tensor([1.0000, 0.7040, 0.7030]) 294 | best: (tensor(8), tensor(0.6970)) 295 | best: tensor([1.0000, 0.7120, 0.7140]) 296 | best: (tensor(12), tensor(0.7140)) 297 | best: tensor([1.0000, 0.7200, 0.7050]) 298 | best: (tensor(18), tensor(0.6940)) 299 | best: tensor([1.0000, 0.7020, 0.7030]) 300 | best: (tensor(15), tensor(0.6920)) 301 | best: tensor([1.0000, 0.7100, 0.7100]) 302 | best: (tensor(7), tensor(0.6980)) 303 | best: tensor([1.0000, 0.7080, 0.7100]) 304 | best: (tensor(14), tensor(0.7060)) 305 | best: tensor([1.0000, 0.7040, 0.7100]) 306 | best: (tensor(13), tensor(0.7060)) 307 | best: tensor([1.0000, 0.7160, 0.7110]) 308 | best: (tensor(17), tensor(0.7090)) 309 | best: tensor([1.0000, 0.7060, 0.7150]) 310 | best: (tensor(11), tensor(0.7040)) 311 | data: citeseer, method: linkdist-nomp-trans 312 | time:1.175±0.336 313 | conv:14.500±4.197 314 | acc:70.26±0.70 315 | NumNodes: 3327 316 | NumEdges: 9228 317 | NumFeats: 3703 318 | NumClasses: 6 319 | NumTrainingSamples: 120 320 | NumValidationSamples: 500 321 | NumTestSamples: 1000 322 | Done loading data from cached files. 323 | BiDirection: True 324 | nodes: 3327 325 | features: 3703 326 | classes: 6 327 | edges: 4552 328 | degree: 2.77 329 | params: 1017606 330 | best: tensor([1.0000, 0.6620, 0.6570]) 331 | best: (tensor(34), tensor(0.6380)) 332 | best: tensor([1.0000, 0.6440, 0.6350]) 333 | best: (tensor(58), tensor(0.6320)) 334 | best: tensor([1.0000, 0.6560, 0.6520]) 335 | best: (tensor(48), tensor(0.6510)) 336 | best: tensor([1.0000, 0.6500, 0.6390]) 337 | best: (tensor(49), tensor(0.6340)) 338 | best: tensor([1.0000, 0.6460, 0.6360]) 339 | best: (tensor(45), tensor(0.6260)) 340 | best: tensor([1.0000, 0.6660, 0.6500]) 341 | best: (tensor(39), tensor(0.6450)) 342 | best: tensor([1.0000, 0.6520, 0.6370]) 343 | best: (tensor(66), tensor(0.6290)) 344 | best: tensor([1.0000, 0.6340, 0.6250]) 345 | best: (tensor(199), tensor(0.6250)) 346 | best: tensor([1.0000, 0.6160, 0.6200]) 347 | best: (tensor(43), tensor(0.6060)) 348 | best: tensor([1.0000, 0.6460, 0.6310]) 349 | best: (tensor(93), tensor(0.6250)) 350 | data: citeseer, method: gcn-trans 351 | time:0.815±0.576 352 | conv:68.400±49.214 353 | acc:63.11±1.24 354 | NumNodes: 3327 355 | NumEdges: 9228 356 | NumFeats: 3703 357 | NumClasses: 6 358 | NumTrainingSamples: 120 359 | NumValidationSamples: 500 360 | NumTestSamples: 1000 361 | Done loading data from cached files. 362 | BiDirection: True 363 | nodes: 3327 364 | features: 3703 365 | classes: 6 366 | edges: 4552 367 | degree: 2.77 368 | params: 1020172 369 | best: tensor([1.0000, 0.7060, 0.7090]) 370 | best: (tensor(17), tensor(0.7040)) 371 | best: tensor([1.0000, 0.6980, 0.7080]) 372 | best: (tensor(14), tensor(0.7060)) 373 | best: tensor([1.0000, 0.7140, 0.7150]) 374 | best: (tensor(17), tensor(0.6970)) 375 | best: tensor([1.0000, 0.7120, 0.7060]) 376 | best: (tensor(18), tensor(0.6950)) 377 | best: tensor([1.0000, 0.7000, 0.7050]) 378 | best: (tensor(21), tensor(0.7030)) 379 | best: tensor([1.0000, 0.7180, 0.7140]) 380 | best: (tensor(3), tensor(0.7030)) 381 | best: tensor([1.0000, 0.7100, 0.7120]) 382 | best: (tensor(16), tensor(0.7120)) 383 | best: tensor([1.0000, 0.7020, 0.7040]) 384 | best: (tensor(5), tensor(0.6880)) 385 | best: tensor([1.0000, 0.7180, 0.7090]) 386 | best: (tensor(4), tensor(0.7090)) 387 | best: tensor([1.0000, 0.7000, 0.7250]) 388 | best: (tensor(8), tensor(0.7100)) 389 | data: citeseer, method: linkdist-trans 390 | time:1.078±0.530 391 | conv:13.300±6.634 392 | acc:70.27±0.75 393 | NumNodes: 19717 394 | NumEdges: 88651 395 | NumFeats: 500 396 | NumClasses: 3 397 | NumTrainingSamples: 60 398 | NumValidationSamples: 500 399 | NumTestSamples: 1000 400 | Done loading data from cached files. 401 | BiDirection: True 402 | nodes: 19717 403 | features: 500 404 | classes: 3 405 | edges: 44324 406 | degree: 4.50 407 | params: 196867 408 | best: tensor([1.0000, 0.7120, 0.7170]) 409 | best: (tensor(107), tensor(0.7080)) 410 | best: tensor([1.0000, 0.6880, 0.7190]) 411 | best: (tensor(22), tensor(0.7150)) 412 | best: tensor([1.0000, 0.7060, 0.7130]) 413 | best: (tensor(28), tensor(0.7070)) 414 | best: tensor([1.0000, 0.6960, 0.7180]) 415 | best: (tensor(69), tensor(0.7150)) 416 | best: tensor([1.0000, 0.7160, 0.7180]) 417 | best: (tensor(189), tensor(0.7110)) 418 | best: tensor([1.0000, 0.6900, 0.7080]) 419 | best: (tensor(16), tensor(0.6880)) 420 | best: tensor([1.0000, 0.7120, 0.7190]) 421 | best: (tensor(26), tensor(0.7030)) 422 | best: tensor([1.0000, 0.7020, 0.7000]) 423 | best: (tensor(34), tensor(0.6840)) 424 | best: tensor([1.0000, 0.7100, 0.7130]) 425 | best: (tensor(142), tensor(0.7010)) 426 | best: tensor([1.0000, 0.7000, 0.7050]) 427 | best: (tensor(94), tensor(0.7010)) 428 | data: pubmed, method: mlp-trans 429 | time:0.459±0.362 430 | conv:73.700±59.099 431 | acc:70.33±1.05 432 | NumNodes: 19717 433 | NumEdges: 88651 434 | NumFeats: 500 435 | NumClasses: 3 436 | NumTrainingSamples: 60 437 | NumValidationSamples: 500 438 | NumTestSamples: 1000 439 | Done loading data from cached files. 440 | BiDirection: True 441 | nodes: 19717 442 | features: 500 443 | classes: 3 444 | edges: 44324 445 | degree: 4.50 446 | params: 196867 447 | params: 196867 448 | best: tensor([1.0000, 0.7620, 0.7780]) 449 | best: (tensor(42), tensor(0.7580)) 450 | best: tensor([1.0000, 0.7860, 0.8050]) 451 | best: (tensor(1), tensor(0.7900)) 452 | best: tensor([1.0000, 0.7840, 0.7920]) 453 | best: (tensor(127), tensor(0.7810)) 454 | best: tensor([1.0000, 0.7760, 0.7860]) 455 | best: (tensor(7), tensor(0.7820)) 456 | best: tensor([1.0000, 0.7840, 0.8010]) 457 | best: (tensor(0), tensor(0.8010)) 458 | best: tensor([1.0000, 0.7580, 0.7650]) 459 | best: (tensor(5), tensor(0.7650)) 460 | best: tensor([1.0000, 0.7600, 0.7680]) 461 | best: (tensor(49), tensor(0.7510)) 462 | best: tensor([1.0000, 0.7720, 0.7930]) 463 | best: (tensor(2), tensor(0.7930)) 464 | best: tensor([0.9833, 0.7860, 0.7780]) 465 | best: (tensor(9), tensor(0.7710)) 466 | best: tensor([0.9833, 0.8000, 0.8050]) 467 | best: (tensor(10), tensor(0.7950)) 468 | data: pubmed, method: gcn-trans2mlp 469 | time:7.656±3.963 470 | conv:26.200±39.726 471 | acc:77.87±1.68 472 | NumNodes: 19717 473 | NumEdges: 88651 474 | NumFeats: 500 475 | NumClasses: 3 476 | NumTrainingSamples: 60 477 | NumValidationSamples: 500 478 | NumTestSamples: 1000 479 | Done loading data from cached files. 480 | BiDirection: True 481 | nodes: 19717 482 | features: 500 483 | classes: 3 484 | edges: 44324 485 | degree: 4.50 486 | params: 198662 487 | best: tensor([1.0000, 0.7380, 0.7410]) 488 | best: (tensor(7), tensor(0.7230)) 489 | best: tensor([1.0000, 0.7120, 0.7390]) 490 | best: (tensor(0), tensor(0.7390)) 491 | best: tensor([1.0000, 0.7240, 0.7270]) 492 | best: (tensor(3), tensor(0.7110)) 493 | best: tensor([1.0000, 0.7240, 0.7410]) 494 | best: (tensor(1), tensor(0.7410)) 495 | best: tensor([1.0000, 0.7100, 0.7290]) 496 | best: (tensor(5), tensor(0.7290)) 497 | best: tensor([1.0000, 0.7200, 0.7420]) 498 | best: (tensor(3), tensor(0.7420)) 499 | best: tensor([1.0000, 0.7140, 0.7350]) 500 | best: (tensor(5), tensor(0.7070)) 501 | best: tensor([1.0000, 0.7120, 0.7290]) 502 | best: (tensor(7), tensor(0.7160)) 503 | best: tensor([1.0000, 0.7220, 0.7360]) 504 | best: (tensor(8), tensor(0.7250)) 505 | best: tensor([1.0000, 0.7180, 0.7450]) 506 | best: (tensor(0), tensor(0.7080)) 507 | data: pubmed, method: linkdist-nomp-trans 508 | time:3.673±2.101 509 | conv:4.900±2.961 510 | acc:72.41±1.35 511 | NumNodes: 19717 512 | NumEdges: 88651 513 | NumFeats: 500 514 | NumClasses: 3 515 | NumTrainingSamples: 60 516 | NumValidationSamples: 500 517 | NumTestSamples: 1000 518 | Done loading data from cached files. 519 | BiDirection: True 520 | nodes: 19717 521 | features: 500 522 | classes: 3 523 | edges: 44324 524 | degree: 4.50 525 | params: 196867 526 | best: tensor([1.0000, 0.7540, 0.7410]) 527 | best: (tensor(154), tensor(0.7400)) 528 | best: tensor([1.0000, 0.7740, 0.7530]) 529 | best: (tensor(73), tensor(0.7460)) 530 | best: tensor([1.0000, 0.7620, 0.7520]) 531 | best: (tensor(58), tensor(0.7390)) 532 | best: tensor([1.0000, 0.7660, 0.7540]) 533 | best: (tensor(53), tensor(0.7480)) 534 | best: tensor([1.0000, 0.7520, 0.7540]) 535 | best: (tensor(59), tensor(0.7400)) 536 | best: tensor([1.0000, 0.7480, 0.7330]) 537 | best: (tensor(48), tensor(0.7070)) 538 | best: tensor([1.0000, 0.7600, 0.7390]) 539 | best: (tensor(53), tensor(0.7300)) 540 | best: tensor([1.0000, 0.7720, 0.7610]) 541 | best: (tensor(54), tensor(0.7390)) 542 | best: tensor([1.0000, 0.7620, 0.7540]) 543 | best: (tensor(3), tensor(0.7540)) 544 | best: tensor([1.0000, 0.7920, 0.7740]) 545 | best: (tensor(7), tensor(0.7560)) 546 | data: pubmed, method: gcn-trans 547 | time:1.434±1.034 548 | conv:57.200±41.098 549 | acc:73.99±1.39 550 | NumNodes: 19717 551 | NumEdges: 88651 552 | NumFeats: 500 553 | NumClasses: 3 554 | NumTrainingSamples: 60 555 | NumValidationSamples: 500 556 | NumTestSamples: 1000 557 | Done loading data from cached files. 558 | BiDirection: True 559 | nodes: 19717 560 | features: 500 561 | classes: 3 562 | edges: 44324 563 | degree: 4.50 564 | params: 198662 565 | best: tensor([1.0000, 0.7400, 0.7470]) 566 | best: (tensor(2), tensor(0.7470)) 567 | best: tensor([1.0000, 0.7520, 0.7450]) 568 | best: (tensor(0), tensor(0.7450)) 569 | best: tensor([1.0000, 0.7400, 0.7330]) 570 | best: (tensor(2), tensor(0.7320)) 571 | best: tensor([1.0000, 0.7560, 0.7530]) 572 | best: (tensor(1), tensor(0.7530)) 573 | best: tensor([1.0000, 0.7500, 0.7420]) 574 | best: (tensor(1), tensor(0.7380)) 575 | best: tensor([1.0000, 0.7440, 0.7500]) 576 | best: (tensor(1), tensor(0.7500)) 577 | best: tensor([1.0000, 0.7420, 0.7430]) 578 | best: (tensor(2), tensor(0.7260)) 579 | best: tensor([1.0000, 0.7520, 0.7470]) 580 | best: (tensor(3), tensor(0.7340)) 581 | best: tensor([1.0000, 0.7500, 0.7560]) 582 | best: (tensor(4), tensor(0.7430)) 583 | best: tensor([1.0000, 0.7660, 0.7480]) 584 | best: (tensor(0), tensor(0.7380)) 585 | data: pubmed, method: linkdist-trans 586 | time:1.970±0.951 587 | conv:2.600±1.265 588 | acc:74.06±0.85 589 | BiDirection: True 590 | nodes: 19793 591 | features: 8710 592 | classes: 70 593 | edges: 63421 594 | degree: 6.41 595 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 596 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 597 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 598 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 599 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 600 | device='cuda:1') 601 | tensor(1395) tensor(500) tensor(1000) 602 | params: 2315846 603 | best: tensor([0.9993, 0.4760, 0.4290]) 604 | best: (tensor(50), tensor(0.4280)) 605 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 606 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 607 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 608 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 609 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 610 | device='cuda:1') 611 | tensor(1395) tensor(500) tensor(1000) 612 | best: tensor([1.0000, 0.4320, 0.4310]) 613 | best: (tensor(30), tensor(0.4310)) 614 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 615 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 616 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 617 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 618 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 619 | device='cuda:1') 620 | tensor(1395) tensor(500) tensor(1000) 621 | best: tensor([0.9993, 0.4300, 0.4280]) 622 | best: (tensor(117), tensor(0.4060)) 623 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 624 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 625 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 626 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 627 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 628 | device='cuda:1') 629 | tensor(1395) tensor(500) tensor(1000) 630 | best: tensor([1.0000, 0.4100, 0.4280]) 631 | best: (tensor(12), tensor(0.4210)) 632 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 633 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 634 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 635 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 636 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 637 | device='cuda:1') 638 | tensor(1395) tensor(500) tensor(1000) 639 | best: tensor([0.9993, 0.4480, 0.4380]) 640 | best: (tensor(32), tensor(0.4210)) 641 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 642 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 643 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 644 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 645 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 646 | device='cuda:1') 647 | tensor(1395) tensor(500) tensor(1000) 648 | best: tensor([0.9993, 0.4540, 0.4320]) 649 | best: (tensor(47), tensor(0.4230)) 650 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 651 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 652 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 653 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 654 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 655 | device='cuda:1') 656 | tensor(1395) tensor(500) tensor(1000) 657 | best: tensor([1.0000, 0.4620, 0.4210]) 658 | best: (tensor(22), tensor(0.4050)) 659 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 660 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 661 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 662 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 663 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 664 | device='cuda:1') 665 | tensor(1395) tensor(500) tensor(1000) 666 | best: tensor([0.9978, 0.4600, 0.4140]) 667 | best: (tensor(60), tensor(0.4060)) 668 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 669 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 670 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 671 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 672 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 673 | device='cuda:1') 674 | tensor(1395) tensor(500) tensor(1000) 675 | best: tensor([0.9986, 0.4220, 0.4440]) 676 | best: (tensor(142), tensor(0.4270)) 677 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 678 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 679 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 680 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 681 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 682 | device='cuda:1') 683 | tensor(1395) tensor(500) tensor(1000) 684 | best: tensor([1.0000, 0.4580, 0.4350]) 685 | best: (tensor(48), tensor(0.4230)) 686 | data: corafull, method: mlp-trans 687 | time:1.037±0.747 688 | conv:57.000±41.711 689 | acc:41.91±0.98 690 | BiDirection: True 691 | nodes: 19793 692 | features: 8710 693 | classes: 70 694 | edges: 63421 695 | degree: 6.41 696 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 697 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 698 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 699 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 700 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 701 | device='cuda:1') 702 | tensor(1395) tensor(500) tensor(1000) 703 | params: 2315846 704 | params: 2315846 705 | best: tensor([0.9541, 0.6000, 0.5760]) 706 | best: (tensor(2), tensor(0.5760)) 707 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 708 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 709 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 710 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 711 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 712 | device='cuda:1') 713 | tensor(1395) tensor(500) tensor(1000) 714 | best: tensor([0.8717, 0.5760, 0.5630]) 715 | best: (tensor(31), tensor(0.5540)) 716 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 717 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 718 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 719 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 720 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 721 | device='cuda:1') 722 | tensor(1395) tensor(500) tensor(1000) 723 | best: tensor([0.9412, 0.5760, 0.5690]) 724 | best: (tensor(3), tensor(0.5460)) 725 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 726 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 727 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 728 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 729 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 730 | device='cuda:1') 731 | tensor(1395) tensor(500) tensor(1000) 732 | best: tensor([0.9878, 0.6000, 0.5520]) 733 | best: (tensor(7), tensor(0.5440)) 734 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 735 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 736 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 737 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 738 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 739 | device='cuda:1') 740 | tensor(1395) tensor(500) tensor(1000) 741 | best: tensor([0.8903, 0.5720, 0.5440]) 742 | best: (tensor(35), tensor(0.5140)) 743 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 744 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 745 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 746 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 747 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 748 | device='cuda:1') 749 | tensor(1395) tensor(500) tensor(1000) 750 | best: tensor([0.9706, 0.5620, 0.5570]) 751 | best: (tensor(2), tensor(0.5450)) 752 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 753 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 754 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 755 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 756 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 757 | device='cuda:1') 758 | tensor(1395) tensor(500) tensor(1000) 759 | best: tensor([0.8824, 0.5640, 0.5420]) 760 | best: (tensor(26), tensor(0.5170)) 761 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 762 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 763 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 764 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 765 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 766 | device='cuda:1') 767 | tensor(1395) tensor(500) tensor(1000) 768 | best: tensor([0.9090, 0.5880, 0.5350]) 769 | best: (tensor(151), tensor(0.5240)) 770 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 771 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 772 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 773 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 774 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 775 | device='cuda:1') 776 | tensor(1395) tensor(500) tensor(1000) 777 | best: tensor([0.7964, 0.5460, 0.5470]) 778 | best: (tensor(144), tensor(0.5250)) 779 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 780 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 781 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 782 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 783 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 784 | device='cuda:1') 785 | tensor(1395) tensor(500) tensor(1000) 786 | best: tensor([0.9935, 0.5700, 0.5710]) 787 | best: (tensor(2), tensor(0.5700)) 788 | data: corafull, method: gcn-trans2mlp 789 | time:20.578±6.153 790 | conv:41.300±57.954 791 | acc:54.15±2.14 792 | BiDirection: True 793 | nodes: 19793 794 | features: 8710 795 | classes: 70 796 | edges: 63421 797 | degree: 6.41 798 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 799 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 800 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 801 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 802 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 803 | device='cuda:1') 804 | tensor(1395) tensor(500) tensor(1000) 805 | params: 2334860 806 | best: tensor([0.9971, 0.5400, 0.5410]) 807 | best: (tensor(1), tensor(0.5410)) 808 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 809 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 810 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 811 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 812 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 813 | device='cuda:1') 814 | tensor(1395) tensor(500) tensor(1000) 815 | best: tensor([0.9964, 0.5240, 0.5280]) 816 | best: (tensor(2), tensor(0.5230)) 817 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 818 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 819 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 820 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 821 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 822 | device='cuda:1') 823 | tensor(1395) tensor(500) tensor(1000) 824 | best: tensor([0.9986, 0.5140, 0.5090]) 825 | best: (tensor(1), tensor(0.5060)) 826 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 827 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 828 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 829 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 830 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 831 | device='cuda:1') 832 | tensor(1395) tensor(500) tensor(1000) 833 | best: tensor([1.0000, 0.5500, 0.5200]) 834 | best: (tensor(2), tensor(0.5120)) 835 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 836 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 837 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 838 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 839 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 840 | device='cuda:1') 841 | tensor(1395) tensor(500) tensor(1000) 842 | best: tensor([0.9986, 0.5560, 0.5230]) 843 | best: (tensor(1), tensor(0.5200)) 844 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 845 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 846 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 847 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 848 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 849 | device='cuda:1') 850 | tensor(1395) tensor(500) tensor(1000) 851 | best: tensor([0.9971, 0.5580, 0.5300]) 852 | best: (tensor(1), tensor(0.5180)) 853 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 854 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 855 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 856 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 857 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 858 | device='cuda:1') 859 | tensor(1395) tensor(500) tensor(1000) 860 | best: tensor([0.9986, 0.5220, 0.4980]) 861 | best: (tensor(1), tensor(0.4980)) 862 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 863 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 864 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 865 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 866 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 867 | device='cuda:1') 868 | tensor(1395) tensor(500) tensor(1000) 869 | best: tensor([0.9971, 0.5440, 0.5050]) 870 | best: (tensor(2), tensor(0.5050)) 871 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 872 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 873 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 874 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 875 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 876 | device='cuda:1') 877 | tensor(1395) tensor(500) tensor(1000) 878 | best: tensor([0.9978, 0.5200, 0.5340]) 879 | best: (tensor(2), tensor(0.5140)) 880 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 881 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 882 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 883 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 884 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 885 | device='cuda:1') 886 | tensor(1395) tensor(500) tensor(1000) 887 | best: tensor([0.9978, 0.5440, 0.5410]) 888 | best: (tensor(1), tensor(0.5410)) 889 | data: corafull, method: linkdist-nomp-trans 890 | time:2.626±0.544 891 | conv:2.400±0.516 892 | acc:51.78±1.43 893 | BiDirection: True 894 | nodes: 19793 895 | features: 8710 896 | classes: 70 897 | edges: 63421 898 | degree: 6.41 899 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 900 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 901 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 902 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 903 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 904 | device='cuda:1') 905 | tensor(1395) tensor(500) tensor(1000) 906 | params: 2315846 907 | best: tensor([0.9978, 0.6020, 0.5910]) 908 | best: (tensor(17), tensor(0.5860)) 909 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 910 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 911 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 912 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 913 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 914 | device='cuda:1') 915 | tensor(1395) tensor(500) tensor(1000) 916 | best: tensor([0.9986, 0.5800, 0.6060]) 917 | best: (tensor(9), tensor(0.5900)) 918 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 919 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 920 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 921 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 922 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 923 | device='cuda:1') 924 | tensor(1395) tensor(500) tensor(1000) 925 | best: tensor([0.9993, 0.5960, 0.5850]) 926 | best: (tensor(14), tensor(0.5710)) 927 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 928 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 929 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 930 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 931 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 932 | device='cuda:1') 933 | tensor(1395) tensor(500) tensor(1000) 934 | best: tensor([0.9993, 0.5900, 0.5940]) 935 | best: (tensor(39), tensor(0.5860)) 936 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 937 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 938 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 939 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 940 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 941 | device='cuda:1') 942 | tensor(1395) tensor(500) tensor(1000) 943 | best: tensor([1.0000, 0.5900, 0.5510]) 944 | best: (tensor(10), tensor(0.5380)) 945 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 946 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 947 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 948 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 949 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 950 | device='cuda:1') 951 | tensor(1395) tensor(500) tensor(1000) 952 | best: tensor([1.0000, 0.5960, 0.5980]) 953 | best: (tensor(19), tensor(0.5760)) 954 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 955 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 956 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 957 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 958 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 959 | device='cuda:1') 960 | tensor(1395) tensor(500) tensor(1000) 961 | best: tensor([1.0000, 0.5640, 0.5870]) 962 | best: (tensor(10), tensor(0.5850)) 963 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 964 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 965 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 966 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 967 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 968 | device='cuda:1') 969 | tensor(1395) tensor(500) tensor(1000) 970 | best: tensor([1.0000, 0.5900, 0.5890]) 971 | best: (tensor(11), tensor(0.5890)) 972 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 973 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 974 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 975 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 976 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 977 | device='cuda:1') 978 | tensor(1395) tensor(500) tensor(1000) 979 | best: tensor([0.9993, 0.5520, 0.5730]) 980 | best: (tensor(6), tensor(0.5560)) 981 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 982 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 983 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 984 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 985 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 986 | device='cuda:1') 987 | tensor(1395) tensor(500) tensor(1000) 988 | best: tensor([0.9993, 0.5600, 0.5910]) 989 | best: (tensor(46), tensor(0.5810)) 990 | data: corafull, method: gcn-trans 991 | time:1.566±1.100 992 | conv:19.100±13.519 993 | acc:57.58±1.68 994 | BiDirection: True 995 | nodes: 19793 996 | features: 8710 997 | classes: 70 998 | edges: 63421 999 | degree: 6.41 1000 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1001 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1002 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1003 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1004 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1005 | device='cuda:1') 1006 | tensor(1395) tensor(500) tensor(1000) 1007 | params: 2334860 1008 | best: tensor([0.9978, 0.5840, 0.5770]) 1009 | best: (tensor(1), tensor(0.5770)) 1010 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1011 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1012 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1013 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1014 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1015 | device='cuda:1') 1016 | tensor(1395) tensor(500) tensor(1000) 1017 | best: tensor([0.9950, 0.5440, 0.5680]) 1018 | best: (tensor(0), tensor(0.5560)) 1019 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1020 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1021 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1022 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1023 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1024 | device='cuda:1') 1025 | tensor(1395) tensor(500) tensor(1000) 1026 | best: tensor([0.9986, 0.5420, 0.5440]) 1027 | best: (tensor(3), tensor(0.5380)) 1028 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1029 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1030 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1031 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1032 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1033 | device='cuda:1') 1034 | tensor(1395) tensor(500) tensor(1000) 1035 | best: tensor([0.9986, 0.5900, 0.5660]) 1036 | best: (tensor(1), tensor(0.5660)) 1037 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1038 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1039 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1040 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1041 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1042 | device='cuda:1') 1043 | tensor(1395) tensor(500) tensor(1000) 1044 | best: tensor([0.9957, 0.5840, 0.5520]) 1045 | best: (tensor(1), tensor(0.5520)) 1046 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1047 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1048 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1049 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1050 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1051 | device='cuda:1') 1052 | tensor(1395) tensor(500) tensor(1000) 1053 | best: tensor([0.9957, 0.5780, 0.5900]) 1054 | best: (tensor(1), tensor(0.5800)) 1055 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1056 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1057 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1058 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1059 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1060 | device='cuda:1') 1061 | tensor(1395) tensor(500) tensor(1000) 1062 | best: tensor([0.9971, 0.5580, 0.5490]) 1063 | best: (tensor(2), tensor(0.5220)) 1064 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1065 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1066 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1067 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1068 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1069 | device='cuda:1') 1070 | tensor(1395) tensor(500) tensor(1000) 1071 | best: tensor([0.9978, 0.5580, 0.5580]) 1072 | best: (tensor(0), tensor(0.5400)) 1073 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1074 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1075 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1076 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1077 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1078 | device='cuda:1') 1079 | tensor(1395) tensor(500) tensor(1000) 1080 | best: tensor([0.9964, 0.5360, 0.5770]) 1081 | best: (tensor(1), tensor(0.5740)) 1082 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1083 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1084 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1085 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1086 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 1087 | device='cuda:1') 1088 | tensor(1395) tensor(500) tensor(1000) 1089 | best: tensor([0.9978, 0.5800, 0.5820]) 1090 | best: (tensor(1), tensor(0.5820)) 1091 | data: corafull, method: linkdist-trans 1092 | time:2.270±0.837 1093 | conv:2.100±0.876 1094 | acc:55.87±2.05 1095 | BiDirection: True 1096 | nodes: 7650 1097 | features: 745 1098 | classes: 8 1099 | edges: 119081 1100 | degree: 31.13 1101 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1102 | tensor(160) tensor(500) tensor(1000) 1103 | params: 260872 1104 | best: tensor([1.0000, 0.7400, 0.7570]) 1105 | best: (tensor(14), tensor(0.7500)) 1106 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1107 | tensor(160) tensor(500) tensor(1000) 1108 | best: tensor([1.0000, 0.7700, 0.7540]) 1109 | best: (tensor(81), tensor(0.7190)) 1110 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1111 | tensor(160) tensor(500) tensor(1000) 1112 | best: tensor([1.0000, 0.7720, 0.7960]) 1113 | best: (tensor(31), tensor(0.7640)) 1114 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1115 | tensor(160) tensor(500) tensor(1000) 1116 | best: tensor([1.0000, 0.7940, 0.7560]) 1117 | best: (tensor(27), tensor(0.7550)) 1118 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1119 | tensor(160) tensor(500) tensor(1000) 1120 | best: tensor([1.0000, 0.8020, 0.8130]) 1121 | best: (tensor(29), tensor(0.8080)) 1122 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1123 | tensor(160) tensor(500) tensor(1000) 1124 | best: tensor([1.0000, 0.8240, 0.7840]) 1125 | best: (tensor(64), tensor(0.7840)) 1126 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1127 | tensor(160) tensor(500) tensor(1000) 1128 | best: tensor([1.0000, 0.7700, 0.7580]) 1129 | best: (tensor(13), tensor(0.7580)) 1130 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1131 | tensor(160) tensor(500) tensor(1000) 1132 | best: tensor([1.0000, 0.8200, 0.7740]) 1133 | best: (tensor(63), tensor(0.7740)) 1134 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1135 | tensor(160) tensor(500) tensor(1000) 1136 | best: tensor([1.0000, 0.7860, 0.7990]) 1137 | best: (tensor(36), tensor(0.7710)) 1138 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1139 | tensor(160) tensor(500) tensor(1000) 1140 | best: tensor([1.0000, 0.7420, 0.7140]) 1141 | best: (tensor(39), tensor(0.7060)) 1142 | data: amazon-photo, method: mlp-trans 1143 | time:0.231±0.124 1144 | conv:40.700±22.554 1145 | acc:75.89±2.97 1146 | BiDirection: True 1147 | nodes: 7650 1148 | features: 745 1149 | classes: 8 1150 | edges: 119081 1151 | degree: 31.13 1152 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1153 | tensor(160) tensor(500) tensor(1000) 1154 | params: 260872 1155 | params: 260872 1156 | best: tensor([0.9438, 0.8600, 0.8750]) 1157 | best: (tensor(121), tensor(0.8520)) 1158 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1159 | tensor(160) tensor(500) tensor(1000) 1160 | best: tensor([0.9812, 0.8820, 0.8590]) 1161 | best: (tensor(71), tensor(0.8560)) 1162 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1163 | tensor(160) tensor(500) tensor(1000) 1164 | best: tensor([0.9438, 0.9040, 0.8990]) 1165 | best: (tensor(26), tensor(0.8730)) 1166 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1167 | tensor(160) tensor(500) tensor(1000) 1168 | best: tensor([0.9875, 0.9020, 0.9040]) 1169 | best: (tensor(113), tensor(0.8900)) 1170 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1171 | tensor(160) tensor(500) tensor(1000) 1172 | best: tensor([0.9500, 0.8980, 0.8930]) 1173 | best: (tensor(183), tensor(0.8840)) 1174 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1175 | tensor(160) tensor(500) tensor(1000) 1176 | best: tensor([0.9812, 0.9020, 0.8830]) 1177 | best: (tensor(190), tensor(0.8680)) 1178 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1179 | tensor(160) tensor(500) tensor(1000) 1180 | best: tensor([0.9563, 0.8960, 0.8960]) 1181 | best: (tensor(87), tensor(0.8810)) 1182 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1183 | tensor(160) tensor(500) tensor(1000) 1184 | best: tensor([0.9688, 0.9140, 0.8780]) 1185 | best: (tensor(22), tensor(0.8600)) 1186 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1187 | tensor(160) tensor(500) tensor(1000) 1188 | best: tensor([0.9812, 0.8900, 0.8970]) 1189 | best: (tensor(56), tensor(0.8720)) 1190 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1191 | tensor(160) tensor(500) tensor(1000) 1192 | best: tensor([0.9688, 0.9040, 0.8840]) 1193 | best: (tensor(170), tensor(0.8750)) 1194 | data: amazon-photo, method: gcn-trans2mlp 1195 | time:7.231±2.326 1196 | conv:104.900±62.230 1197 | acc:87.11±1.23 1198 | BiDirection: True 1199 | nodes: 7650 1200 | features: 745 1201 | classes: 8 1202 | edges: 119081 1203 | degree: 31.13 1204 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1205 | tensor(160) tensor(500) tensor(1000) 1206 | params: 263952 1207 | best: tensor([0.9937, 0.9020, 0.9060]) 1208 | best: (tensor(6), tensor(0.8970)) 1209 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1210 | tensor(160) tensor(500) tensor(1000) 1211 | best: tensor([0.9875, 0.8500, 0.8400]) 1212 | best: (tensor(0), tensor(0.8310)) 1213 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1214 | tensor(160) tensor(500) tensor(1000) 1215 | best: tensor([0.9875, 0.8940, 0.8950]) 1216 | best: (tensor(4), tensor(0.8950)) 1217 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1218 | tensor(160) tensor(500) tensor(1000) 1219 | best: tensor([0.9875, 0.9000, 0.8980]) 1220 | best: (tensor(0), tensor(0.8880)) 1221 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1222 | tensor(160) tensor(500) tensor(1000) 1223 | best: tensor([0.9937, 0.8840, 0.8810]) 1224 | best: (tensor(4), tensor(0.8810)) 1225 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1226 | tensor(160) tensor(500) tensor(1000) 1227 | best: tensor([0.9875, 0.8920, 0.8790]) 1228 | best: (tensor(5), tensor(0.8680)) 1229 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1230 | tensor(160) tensor(500) tensor(1000) 1231 | best: tensor([0.9937, 0.9000, 0.9030]) 1232 | best: (tensor(6), tensor(0.9030)) 1233 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1234 | tensor(160) tensor(500) tensor(1000) 1235 | best: tensor([0.9937, 0.8920, 0.8810]) 1236 | best: (tensor(2), tensor(0.8760)) 1237 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1238 | tensor(160) tensor(500) tensor(1000) 1239 | best: tensor([1.0000, 0.9160, 0.9090]) 1240 | best: (tensor(3), tensor(0.8880)) 1241 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1242 | tensor(160) tensor(500) tensor(1000) 1243 | best: tensor([1.0000, 0.9120, 0.8950]) 1244 | best: (tensor(1), tensor(0.8920)) 1245 | data: amazon-photo, method: linkdist-nomp-trans 1246 | time:7.827±4.303 1247 | conv:4.100±2.283 1248 | acc:88.19±2.07 1249 | BiDirection: True 1250 | nodes: 7650 1251 | features: 745 1252 | classes: 8 1253 | edges: 119081 1254 | degree: 31.13 1255 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1256 | tensor(160) tensor(500) tensor(1000) 1257 | params: 260872 1258 | best: tensor([0.9937, 0.8720, 0.8670]) 1259 | best: (tensor(197), tensor(0.8670)) 1260 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1261 | tensor(160) tensor(500) tensor(1000) 1262 | best: tensor([0.9937, 0.8600, 0.8470]) 1263 | best: (tensor(62), tensor(0.8440)) 1264 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1265 | tensor(160) tensor(500) tensor(1000) 1266 | best: tensor([0.9937, 0.9060, 0.8970]) 1267 | best: (tensor(36), tensor(0.8970)) 1268 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1269 | tensor(160) tensor(500) tensor(1000) 1270 | best: tensor([1.0000, 0.9000, 0.8920]) 1271 | best: (tensor(80), tensor(0.8900)) 1272 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1273 | tensor(160) tensor(500) tensor(1000) 1274 | best: tensor([0.9937, 0.8780, 0.8690]) 1275 | best: (tensor(28), tensor(0.8680)) 1276 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1277 | tensor(160) tensor(500) tensor(1000) 1278 | best: tensor([0.9937, 0.9060, 0.8860]) 1279 | best: (tensor(44), tensor(0.8690)) 1280 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1281 | tensor(160) tensor(500) tensor(1000) 1282 | best: tensor([0.9812, 0.8820, 0.8680]) 1283 | best: (tensor(39), tensor(0.8560)) 1284 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1285 | tensor(160) tensor(500) tensor(1000) 1286 | best: tensor([0.9937, 0.9200, 0.8910]) 1287 | best: (tensor(135), tensor(0.8780)) 1288 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1289 | tensor(160) tensor(500) tensor(1000) 1290 | best: tensor([0.9875, 0.8820, 0.8650]) 1291 | best: (tensor(120), tensor(0.8650)) 1292 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1293 | tensor(160) tensor(500) tensor(1000) 1294 | best: tensor([0.9937, 0.9100, 0.8870]) 1295 | best: (tensor(159), tensor(0.8660)) 1296 | data: amazon-photo, method: gcn-trans 1297 | time:1.484±0.968 1298 | conv:91.000±59.157 1299 | acc:87.00±1.53 1300 | BiDirection: True 1301 | nodes: 7650 1302 | features: 745 1303 | classes: 8 1304 | edges: 119081 1305 | degree: 31.13 1306 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1307 | tensor(160) tensor(500) tensor(1000) 1308 | params: 263952 1309 | best: tensor([0.9937, 0.9220, 0.9230]) 1310 | best: (tensor(1), tensor(0.9060)) 1311 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1312 | tensor(160) tensor(500) tensor(1000) 1313 | best: tensor([0.9875, 0.8900, 0.8670]) 1314 | best: (tensor(0), tensor(0.8660)) 1315 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1316 | tensor(160) tensor(500) tensor(1000) 1317 | best: tensor([0.9812, 0.9240, 0.9180]) 1318 | best: (tensor(4), tensor(0.9180)) 1319 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1320 | tensor(160) tensor(500) tensor(1000) 1321 | best: tensor([0.9875, 0.9060, 0.9080]) 1322 | best: (tensor(0), tensor(0.9080)) 1323 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1324 | tensor(160) tensor(500) tensor(1000) 1325 | best: tensor([0.9937, 0.8980, 0.8830]) 1326 | best: (tensor(4), tensor(0.8830)) 1327 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1328 | tensor(160) tensor(500) tensor(1000) 1329 | best: tensor([0.9937, 0.9020, 0.8990]) 1330 | best: (tensor(2), tensor(0.8840)) 1331 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1332 | tensor(160) tensor(500) tensor(1000) 1333 | best: tensor([0.9937, 0.9120, 0.9080]) 1334 | best: (tensor(6), tensor(0.9080)) 1335 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1336 | tensor(160) tensor(500) tensor(1000) 1337 | best: tensor([0.9937, 0.9280, 0.9080]) 1338 | best: (tensor(0), tensor(0.9080)) 1339 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1340 | tensor(160) tensor(500) tensor(1000) 1341 | best: tensor([1.0000, 0.9360, 0.9220]) 1342 | best: (tensor(2), tensor(0.9220)) 1343 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1344 | tensor(160) tensor(500) tensor(1000) 1345 | best: tensor([1.0000, 0.9420, 0.9140]) 1346 | best: (tensor(0), tensor(0.9110)) 1347 | data: amazon-photo, method: linkdist-trans 1348 | time:5.511±3.878 1349 | conv:2.900±2.132 1350 | acc:90.14±1.78 1351 | BiDirection: True 1352 | nodes: 13752 1353 | features: 767 1354 | classes: 10 1355 | edges: 245861 1356 | degree: 35.76 1357 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1358 | tensor(200) tensor(500) tensor(1000) 1359 | params: 267018 1360 | best: tensor([1.0000, 0.6640, 0.6600]) 1361 | best: (tensor(68), tensor(0.6600)) 1362 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1363 | tensor(200) tensor(500) tensor(1000) 1364 | best: tensor([1.0000, 0.6920, 0.6920]) 1365 | best: (tensor(37), tensor(0.6920)) 1366 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1367 | tensor(200) tensor(500) tensor(1000) 1368 | best: tensor([1.0000, 0.6500, 0.6540]) 1369 | best: (tensor(150), tensor(0.6400)) 1370 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1371 | tensor(200) tensor(500) tensor(1000) 1372 | best: tensor([1.0000, 0.6900, 0.6750]) 1373 | best: (tensor(21), tensor(0.6650)) 1374 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1375 | tensor(200) tensor(500) tensor(1000) 1376 | best: tensor([1.0000, 0.6320, 0.6410]) 1377 | best: (tensor(31), tensor(0.6280)) 1378 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1379 | tensor(200) tensor(500) tensor(1000) 1380 | best: tensor([1.0000, 0.6900, 0.6930]) 1381 | best: (tensor(42), tensor(0.6930)) 1382 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1383 | tensor(200) tensor(500) tensor(1000) 1384 | best: tensor([1.0000, 0.6780, 0.6820]) 1385 | best: (tensor(16), tensor(0.6820)) 1386 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1387 | tensor(200) tensor(500) tensor(1000) 1388 | best: tensor([1.0000, 0.6780, 0.6730]) 1389 | best: (tensor(102), tensor(0.6640)) 1390 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1391 | tensor(200) tensor(500) tensor(1000) 1392 | best: tensor([1.0000, 0.6500, 0.6650]) 1393 | best: (tensor(43), tensor(0.6650)) 1394 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1395 | tensor(200) tensor(500) tensor(1000) 1396 | best: tensor([1.0000, 0.7120, 0.6450]) 1397 | best: (tensor(32), tensor(0.6250)) 1398 | data: amazon-com, method: mlp-trans 1399 | time:0.352±0.262 1400 | conv:55.200±41.920 1401 | acc:66.14±2.42 1402 | BiDirection: True 1403 | nodes: 13752 1404 | features: 767 1405 | classes: 10 1406 | edges: 245861 1407 | degree: 35.76 1408 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1409 | tensor(200) tensor(500) tensor(1000) 1410 | params: 267018 1411 | params: 267018 1412 | best: tensor([0.8700, 0.8280, 0.7840]) 1413 | best: (tensor(7), tensor(0.7780)) 1414 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1415 | tensor(200) tensor(500) tensor(1000) 1416 | best: tensor([0.9300, 0.7920, 0.8160]) 1417 | best: (tensor(125), tensor(0.8060)) 1418 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1419 | tensor(200) tensor(500) tensor(1000) 1420 | best: tensor([0.8800, 0.8060, 0.8250]) 1421 | best: (tensor(6), tensor(0.8140)) 1422 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1423 | tensor(200) tensor(500) tensor(1000) 1424 | best: tensor([0.9850, 0.8320, 0.8080]) 1425 | best: (tensor(92), tensor(0.7880)) 1426 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1427 | tensor(200) tensor(500) tensor(1000) 1428 | best: tensor([0.9700, 0.7840, 0.7810]) 1429 | best: (tensor(74), tensor(0.7660)) 1430 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1431 | tensor(200) tensor(500) tensor(1000) 1432 | best: tensor([0.9150, 0.7880, 0.8010]) 1433 | best: (tensor(10), tensor(0.7880)) 1434 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1435 | tensor(200) tensor(500) tensor(1000) 1436 | best: tensor([0.9500, 0.7720, 0.7800]) 1437 | best: (tensor(3), tensor(0.7640)) 1438 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1439 | tensor(200) tensor(500) tensor(1000) 1440 | best: tensor([0.9700, 0.8140, 0.7980]) 1441 | best: (tensor(56), tensor(0.7800)) 1442 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1443 | tensor(200) tensor(500) tensor(1000) 1444 | best: tensor([0.9350, 0.7840, 0.7700]) 1445 | best: (tensor(137), tensor(0.7630)) 1446 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1447 | tensor(200) tensor(500) tensor(1000) 1448 | best: tensor([0.8150, 0.8300, 0.7920]) 1449 | best: (tensor(87), tensor(0.7740)) 1450 | data: amazon-com, method: gcn-trans2mlp 1451 | time:9.775±3.398 1452 | conv:60.700±51.199 1453 | acc:78.21±1.73 1454 | BiDirection: True 1455 | nodes: 13752 1456 | features: 767 1457 | classes: 10 1458 | edges: 245861 1459 | degree: 35.76 1460 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1461 | tensor(200) tensor(500) tensor(1000) 1462 | params: 270612 1463 | best: tensor([0.9800, 0.8180, 0.7910]) 1464 | best: (tensor(3), tensor(0.7910)) 1465 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1466 | tensor(200) tensor(500) tensor(1000) 1467 | best: tensor([0.9850, 0.7820, 0.8250]) 1468 | best: (tensor(4), tensor(0.8250)) 1469 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1470 | tensor(200) tensor(500) tensor(1000) 1471 | best: tensor([0.9950, 0.7720, 0.7950]) 1472 | best: (tensor(1), tensor(0.7950)) 1473 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1474 | tensor(200) tensor(500) tensor(1000) 1475 | best: tensor([0.9950, 0.7920, 0.7820]) 1476 | best: (tensor(4), tensor(0.7820)) 1477 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1478 | tensor(200) tensor(500) tensor(1000) 1479 | best: tensor([0.9850, 0.8140, 0.7910]) 1480 | best: (tensor(1), tensor(0.7840)) 1481 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1482 | tensor(200) tensor(500) tensor(1000) 1483 | best: tensor([0.9800, 0.7780, 0.7810]) 1484 | best: (tensor(4), tensor(0.7810)) 1485 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1486 | tensor(200) tensor(500) tensor(1000) 1487 | best: tensor([0.9800, 0.7420, 0.7810]) 1488 | best: (tensor(1), tensor(0.7760)) 1489 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1490 | tensor(200) tensor(500) tensor(1000) 1491 | best: tensor([0.9950, 0.7980, 0.7980]) 1492 | best: (tensor(5), tensor(0.7920)) 1493 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1494 | tensor(200) tensor(500) tensor(1000) 1495 | best: tensor([0.9750, 0.7220, 0.7330]) 1496 | best: (tensor(0), tensor(0.7250)) 1497 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1498 | tensor(200) tensor(500) tensor(1000) 1499 | best: tensor([0.9900, 0.8060, 0.7810]) 1500 | best: (tensor(5), tensor(0.7720)) 1501 | data: amazon-com, method: linkdist-nomp-trans 1502 | time:14.715±7.177 1503 | conv:3.800±1.874 1504 | acc:78.23±2.49 1505 | BiDirection: True 1506 | nodes: 13752 1507 | features: 767 1508 | classes: 10 1509 | edges: 245861 1510 | degree: 35.76 1511 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1512 | tensor(200) tensor(500) tensor(1000) 1513 | params: 267018 1514 | best: tensor([0.9050, 0.8100, 0.7940]) 1515 | best: (tensor(126), tensor(0.7540)) 1516 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1517 | tensor(200) tensor(500) tensor(1000) 1518 | best: tensor([0.9750, 0.7700, 0.8080]) 1519 | best: (tensor(23), tensor(0.8080)) 1520 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1521 | tensor(200) tensor(500) tensor(1000) 1522 | best: tensor([0.9400, 0.7780, 0.7970]) 1523 | best: (tensor(131), tensor(0.7970)) 1524 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1525 | tensor(200) tensor(500) tensor(1000) 1526 | best: tensor([0.9850, 0.8260, 0.8110]) 1527 | best: (tensor(104), tensor(0.8050)) 1528 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1529 | tensor(200) tensor(500) tensor(1000) 1530 | best: tensor([0.9550, 0.7900, 0.7680]) 1531 | best: (tensor(133), tensor(0.7520)) 1532 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1533 | tensor(200) tensor(500) tensor(1000) 1534 | best: tensor([0.9500, 0.7720, 0.7870]) 1535 | best: (tensor(80), tensor(0.7870)) 1536 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1537 | tensor(200) tensor(500) tensor(1000) 1538 | best: tensor([0.9600, 0.7540, 0.7610]) 1539 | best: (tensor(49), tensor(0.7340)) 1540 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1541 | tensor(200) tensor(500) tensor(1000) 1542 | best: tensor([0.9750, 0.8200, 0.8260]) 1543 | best: (tensor(152), tensor(0.8020)) 1544 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1545 | tensor(200) tensor(500) tensor(1000) 1546 | best: tensor([0.9850, 0.8040, 0.7800]) 1547 | best: (tensor(75), tensor(0.7750)) 1548 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1549 | tensor(200) tensor(500) tensor(1000) 1550 | best: tensor([0.8950, 0.8120, 0.7810]) 1551 | best: (tensor(123), tensor(0.7810)) 1552 | data: amazon-com, method: gcn-trans 1553 | time:2.884±1.189 1554 | conv:100.600±41.538 1555 | acc:77.95±2.55 1556 | BiDirection: True 1557 | nodes: 13752 1558 | features: 767 1559 | classes: 10 1560 | edges: 245861 1561 | degree: 35.76 1562 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1563 | tensor(200) tensor(500) tensor(1000) 1564 | params: 270612 1565 | best: tensor([0.9800, 0.8480, 0.8610]) 1566 | best: (tensor(3), tensor(0.8610)) 1567 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1568 | tensor(200) tensor(500) tensor(1000) 1569 | best: tensor([0.9850, 0.8100, 0.8390]) 1570 | best: (tensor(4), tensor(0.8390)) 1571 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1572 | tensor(200) tensor(500) tensor(1000) 1573 | best: tensor([0.9950, 0.8000, 0.8310]) 1574 | best: (tensor(1), tensor(0.8230)) 1575 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1576 | tensor(200) tensor(500) tensor(1000) 1577 | best: tensor([0.9950, 0.8540, 0.8270]) 1578 | best: (tensor(4), tensor(0.8270)) 1579 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1580 | tensor(200) tensor(500) tensor(1000) 1581 | best: tensor([0.9900, 0.8800, 0.8480]) 1582 | best: (tensor(1), tensor(0.8480)) 1583 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1584 | tensor(200) tensor(500) tensor(1000) 1585 | best: tensor([0.9750, 0.8140, 0.8210]) 1586 | best: (tensor(2), tensor(0.8210)) 1587 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1588 | tensor(200) tensor(500) tensor(1000) 1589 | best: tensor([0.9750, 0.7860, 0.8090]) 1590 | best: (tensor(1), tensor(0.8040)) 1591 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1592 | tensor(200) tensor(500) tensor(1000) 1593 | best: tensor([0.9950, 0.8060, 0.8490]) 1594 | best: (tensor(5), tensor(0.8490)) 1595 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1596 | tensor(200) tensor(500) tensor(1000) 1597 | best: tensor([0.9800, 0.7760, 0.7740]) 1598 | best: (tensor(0), tensor(0.7740)) 1599 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 1600 | tensor(200) tensor(500) tensor(1000) 1601 | best: tensor([0.9900, 0.8220, 0.8190]) 1602 | best: (tensor(5), tensor(0.8190)) 1603 | data: amazon-com, method: linkdist-trans 1604 | time:13.999±7.036 1605 | conv:3.600±1.838 1606 | acc:82.65±2.51 1607 | BiDirection: True 1608 | nodes: 18333 1609 | features: 6805 1610 | classes: 15 1611 | edges: 81894 1612 | degree: 8.93 1613 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1614 | 20.], device='cuda:1') 1615 | tensor(300) tensor(500) tensor(1000) 1616 | params: 1814031 1617 | best: tensor([1.0000, 0.9080, 0.9160]) 1618 | best: (tensor(43), tensor(0.9140)) 1619 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1620 | 20.], device='cuda:1') 1621 | tensor(300) tensor(500) tensor(1000) 1622 | best: tensor([1.0000, 0.8940, 0.9070]) 1623 | best: (tensor(11), tensor(0.8970)) 1624 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1625 | 20.], device='cuda:1') 1626 | tensor(300) tensor(500) tensor(1000) 1627 | best: tensor([1.0000, 0.9100, 0.8980]) 1628 | best: (tensor(30), tensor(0.8930)) 1629 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1630 | 20.], device='cuda:1') 1631 | tensor(300) tensor(500) tensor(1000) 1632 | best: tensor([1.0000, 0.9080, 0.9120]) 1633 | best: (tensor(6), tensor(0.8910)) 1634 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1635 | 20.], device='cuda:1') 1636 | tensor(300) tensor(500) tensor(1000) 1637 | best: tensor([1.0000, 0.9020, 0.9070]) 1638 | best: (tensor(197), tensor(0.9020)) 1639 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1640 | 20.], device='cuda:1') 1641 | tensor(300) tensor(500) tensor(1000) 1642 | best: tensor([1.0000, 0.9180, 0.8990]) 1643 | best: (tensor(171), tensor(0.8870)) 1644 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1645 | 20.], device='cuda:1') 1646 | tensor(300) tensor(500) tensor(1000) 1647 | best: tensor([1.0000, 0.9240, 0.9170]) 1648 | best: (tensor(10), tensor(0.9130)) 1649 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1650 | 20.], device='cuda:1') 1651 | tensor(300) tensor(500) tensor(1000) 1652 | best: tensor([1.0000, 0.8940, 0.9120]) 1653 | best: (tensor(75), tensor(0.9090)) 1654 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1655 | 20.], device='cuda:1') 1656 | tensor(300) tensor(500) tensor(1000) 1657 | best: tensor([1.0000, 0.9140, 0.9010]) 1658 | best: (tensor(14), tensor(0.8990)) 1659 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1660 | 20.], device='cuda:1') 1661 | tensor(300) tensor(500) tensor(1000) 1662 | best: tensor([1.0000, 0.8840, 0.9140]) 1663 | best: (tensor(10), tensor(0.9060)) 1664 | data: coauthor-cs, method: mlp-trans 1665 | time:0.611±0.728 1666 | conv:57.700±70.575 1667 | acc:90.11±0.93 1668 | BiDirection: True 1669 | nodes: 18333 1670 | features: 6805 1671 | classes: 15 1672 | edges: 81894 1673 | degree: 8.93 1674 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1675 | 20.], device='cuda:1') 1676 | tensor(300) tensor(500) tensor(1000) 1677 | params: 1814031 1678 | params: 1814031 1679 | best: tensor([1.0000, 0.9460, 0.9370]) 1680 | best: (tensor(1), tensor(0.9350)) 1681 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1682 | 20.], device='cuda:1') 1683 | tensor(300) tensor(500) tensor(1000) 1684 | best: tensor([0.9733, 0.9400, 0.9340]) 1685 | best: (tensor(0), tensor(0.9270)) 1686 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1687 | 20.], device='cuda:1') 1688 | tensor(300) tensor(500) tensor(1000) 1689 | best: tensor([0.9667, 0.9200, 0.9240]) 1690 | best: (tensor(107), tensor(0.9110)) 1691 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1692 | 20.], device='cuda:1') 1693 | tensor(300) tensor(500) tensor(1000) 1694 | best: tensor([0.9767, 0.9360, 0.9290]) 1695 | best: (tensor(2), tensor(0.9290)) 1696 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1697 | 20.], device='cuda:1') 1698 | tensor(300) tensor(500) tensor(1000) 1699 | best: tensor([0.9900, 0.9300, 0.9360]) 1700 | best: (tensor(1), tensor(0.9320)) 1701 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1702 | 20.], device='cuda:1') 1703 | tensor(300) tensor(500) tensor(1000) 1704 | best: tensor([0.9867, 0.9340, 0.9230]) 1705 | best: (tensor(8), tensor(0.9100)) 1706 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1707 | 20.], device='cuda:1') 1708 | tensor(300) tensor(500) tensor(1000) 1709 | best: tensor([1.0000, 0.9420, 0.9330]) 1710 | best: (tensor(1), tensor(0.9330)) 1711 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1712 | 20.], device='cuda:1') 1713 | tensor(300) tensor(500) tensor(1000) 1714 | best: tensor([1.0000, 0.9240, 0.9180]) 1715 | best: (tensor(0), tensor(0.9180)) 1716 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1717 | 20.], device='cuda:1') 1718 | tensor(300) tensor(500) tensor(1000) 1719 | best: tensor([1.0000, 0.9500, 0.9260]) 1720 | best: (tensor(0), tensor(0.9260)) 1721 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1722 | 20.], device='cuda:1') 1723 | tensor(300) tensor(500) tensor(1000) 1724 | best: tensor([1.0000, 0.9160, 0.9280]) 1725 | best: (tensor(0), tensor(0.9280)) 1726 | data: coauthor-cs, method: gcn-trans2mlp 1727 | time:14.137±3.187 1728 | conv:13.000±33.466 1729 | acc:92.49±0.89 1730 | BiDirection: True 1731 | nodes: 18333 1732 | features: 6805 1733 | classes: 15 1734 | edges: 81894 1735 | degree: 8.93 1736 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1737 | 20.], device='cuda:1') 1738 | tensor(300) tensor(500) tensor(1000) 1739 | params: 1818910 1740 | best: tensor([1.0000, 0.9060, 0.9150]) 1741 | best: (tensor(0), tensor(0.9150)) 1742 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1743 | 20.], device='cuda:1') 1744 | tensor(300) tensor(500) tensor(1000) 1745 | best: tensor([1.0000, 0.8980, 0.8920]) 1746 | best: (tensor(0), tensor(0.8920)) 1747 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1748 | 20.], device='cuda:1') 1749 | tensor(300) tensor(500) tensor(1000) 1750 | best: tensor([1.0000, 0.9040, 0.8910]) 1751 | best: (tensor(0), tensor(0.8910)) 1752 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1753 | 20.], device='cuda:1') 1754 | tensor(300) tensor(500) tensor(1000) 1755 | best: tensor([1.0000, 0.9040, 0.8960]) 1756 | best: (tensor(1), tensor(0.8960)) 1757 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1758 | 20.], device='cuda:1') 1759 | tensor(300) tensor(500) tensor(1000) 1760 | best: tensor([1.0000, 0.8920, 0.9050]) 1761 | best: (tensor(0), tensor(0.9050)) 1762 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1763 | 20.], device='cuda:1') 1764 | tensor(300) tensor(500) tensor(1000) 1765 | best: tensor([1.0000, 0.8840, 0.9000]) 1766 | best: (tensor(1), tensor(0.9000)) 1767 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1768 | 20.], device='cuda:1') 1769 | tensor(300) tensor(500) tensor(1000) 1770 | best: tensor([1.0000, 0.8880, 0.8970]) 1771 | best: (tensor(0), tensor(0.8970)) 1772 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1773 | 20.], device='cuda:1') 1774 | tensor(300) tensor(500) tensor(1000) 1775 | best: tensor([1.0000, 0.8920, 0.9160]) 1776 | best: (tensor(0), tensor(0.9160)) 1777 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1778 | 20.], device='cuda:1') 1779 | tensor(300) tensor(500) tensor(1000) 1780 | best: tensor([1.0000, 0.9060, 0.8900]) 1781 | best: (tensor(0), tensor(0.8900)) 1782 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1783 | 20.], device='cuda:1') 1784 | tensor(300) tensor(500) tensor(1000) 1785 | best: tensor([1.0000, 0.8800, 0.8920]) 1786 | best: (tensor(0), tensor(0.8810)) 1787 | data: coauthor-cs, method: linkdist-nomp-trans 1788 | time:1.678±0.613 1789 | conv:1.200±0.422 1790 | acc:89.83±1.11 1791 | BiDirection: True 1792 | nodes: 18333 1793 | features: 6805 1794 | classes: 15 1795 | edges: 81894 1796 | degree: 8.93 1797 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1798 | 20.], device='cuda:1') 1799 | tensor(300) tensor(500) tensor(1000) 1800 | params: 1814031 1801 | best: tensor([1.0000, 0.8780, 0.9050]) 1802 | best: (tensor(74), tensor(0.9050)) 1803 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1804 | 20.], device='cuda:1') 1805 | tensor(300) tensor(500) tensor(1000) 1806 | best: tensor([1.0000, 0.8820, 0.8910]) 1807 | best: (tensor(13), tensor(0.8860)) 1808 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1809 | 20.], device='cuda:1') 1810 | tensor(300) tensor(500) tensor(1000) 1811 | best: tensor([1.0000, 0.8520, 0.8660]) 1812 | best: (tensor(13), tensor(0.8660)) 1813 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1814 | 20.], device='cuda:1') 1815 | tensor(300) tensor(500) tensor(1000) 1816 | best: tensor([1.0000, 0.8860, 0.9000]) 1817 | best: (tensor(11), tensor(0.8940)) 1818 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1819 | 20.], device='cuda:1') 1820 | tensor(300) tensor(500) tensor(1000) 1821 | best: tensor([1.0000, 0.9120, 0.9000]) 1822 | best: (tensor(14), tensor(0.8970)) 1823 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1824 | 20.], device='cuda:1') 1825 | tensor(300) tensor(500) tensor(1000) 1826 | best: tensor([1.0000, 0.8880, 0.8930]) 1827 | best: (tensor(14), tensor(0.8850)) 1828 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1829 | 20.], device='cuda:1') 1830 | tensor(300) tensor(500) tensor(1000) 1831 | best: tensor([1.0000, 0.8760, 0.8900]) 1832 | best: (tensor(43), tensor(0.8760)) 1833 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1834 | 20.], device='cuda:1') 1835 | tensor(300) tensor(500) tensor(1000) 1836 | best: tensor([1.0000, 0.8600, 0.8730]) 1837 | best: (tensor(101), tensor(0.8520)) 1838 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1839 | 20.], device='cuda:1') 1840 | tensor(300) tensor(500) tensor(1000) 1841 | best: tensor([1.0000, 0.9060, 0.8920]) 1842 | best: (tensor(123), tensor(0.8790)) 1843 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1844 | 20.], device='cuda:1') 1845 | tensor(300) tensor(500) tensor(1000) 1846 | best: tensor([1.0000, 0.8860, 0.8710]) 1847 | best: (tensor(129), tensor(0.8530)) 1848 | data: coauthor-cs, method: gcn-trans 1849 | time:3.537±3.166 1850 | conv:54.500±48.904 1851 | acc:87.93±1.79 1852 | BiDirection: True 1853 | nodes: 18333 1854 | features: 6805 1855 | classes: 15 1856 | edges: 81894 1857 | degree: 8.93 1858 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1859 | 20.], device='cuda:1') 1860 | tensor(300) tensor(500) tensor(1000) 1861 | params: 1818910 1862 | best: tensor([1.0000, 0.9320, 0.9270]) 1863 | best: (tensor(0), tensor(0.9270)) 1864 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1865 | 20.], device='cuda:1') 1866 | tensor(300) tensor(500) tensor(1000) 1867 | best: tensor([1.0000, 0.9160, 0.9070]) 1868 | best: (tensor(0), tensor(0.9070)) 1869 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1870 | 20.], device='cuda:1') 1871 | tensor(300) tensor(500) tensor(1000) 1872 | best: tensor([1.0000, 0.9200, 0.9020]) 1873 | best: (tensor(0), tensor(0.9020)) 1874 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1875 | 20.], device='cuda:1') 1876 | tensor(300) tensor(500) tensor(1000) 1877 | best: tensor([1.0000, 0.9100, 0.9040]) 1878 | best: (tensor(0), tensor(0.9030)) 1879 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1880 | 20.], device='cuda:1') 1881 | tensor(300) tensor(500) tensor(1000) 1882 | best: tensor([1.0000, 0.9000, 0.9160]) 1883 | best: (tensor(0), tensor(0.9160)) 1884 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1885 | 20.], device='cuda:1') 1886 | tensor(300) tensor(500) tensor(1000) 1887 | best: tensor([1.0000, 0.8940, 0.9110]) 1888 | best: (tensor(0), tensor(0.8950)) 1889 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1890 | 20.], device='cuda:1') 1891 | tensor(300) tensor(500) tensor(1000) 1892 | best: tensor([1.0000, 0.9160, 0.9230]) 1893 | best: (tensor(0), tensor(0.9230)) 1894 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1895 | 20.], device='cuda:1') 1896 | tensor(300) tensor(500) tensor(1000) 1897 | best: tensor([1.0000, 0.9260, 0.9170]) 1898 | best: (tensor(0), tensor(0.9170)) 1899 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1900 | 20.], device='cuda:1') 1901 | tensor(300) tensor(500) tensor(1000) 1902 | best: tensor([1.0000, 0.9120, 0.9060]) 1903 | best: (tensor(0), tensor(0.9060)) 1904 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 1905 | 20.], device='cuda:1') 1906 | tensor(300) tensor(500) tensor(1000) 1907 | best: tensor([1.0000, 0.8980, 0.8980]) 1908 | best: (tensor(0), tensor(0.8980)) 1909 | data: coauthor-cs, method: linkdist-trans 1910 | time:1.454±0.083 1911 | conv:1.000±0.000 1912 | acc:90.94±1.08 1913 | BiDirection: True 1914 | nodes: 34493 1915 | features: 8415 1916 | classes: 5 1917 | edges: 247962 1918 | degree: 14.38 1919 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1920 | tensor(100) tensor(500) tensor(1000) 1921 | params: 2223621 1922 | best: tensor([1.0000, 0.8980, 0.9070]) 1923 | best: (tensor(4), tensor(0.9020)) 1924 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1925 | tensor(100) tensor(500) tensor(1000) 1926 | best: tensor([1.0000, 0.9180, 0.9110]) 1927 | best: (tensor(9), tensor(0.9070)) 1928 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1929 | tensor(100) tensor(500) tensor(1000) 1930 | best: tensor([1.0000, 0.8900, 0.8970]) 1931 | best: (tensor(9), tensor(0.8970)) 1932 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1933 | tensor(100) tensor(500) tensor(1000) 1934 | best: tensor([1.0000, 0.8920, 0.8960]) 1935 | best: (tensor(8), tensor(0.8950)) 1936 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1937 | tensor(100) tensor(500) tensor(1000) 1938 | best: tensor([1.0000, 0.9080, 0.9060]) 1939 | best: (tensor(17), tensor(0.9040)) 1940 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1941 | tensor(100) tensor(500) tensor(1000) 1942 | best: tensor([1.0000, 0.9100, 0.9130]) 1943 | best: (tensor(14), tensor(0.9060)) 1944 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1945 | tensor(100) tensor(500) tensor(1000) 1946 | best: tensor([1.0000, 0.8840, 0.8910]) 1947 | best: (tensor(52), tensor(0.8780)) 1948 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1949 | tensor(100) tensor(500) tensor(1000) 1950 | best: tensor([1.0000, 0.9020, 0.9040]) 1951 | best: (tensor(17), tensor(0.9010)) 1952 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1953 | tensor(100) tensor(500) tensor(1000) 1954 | best: tensor([1.0000, 0.9140, 0.9040]) 1955 | best: (tensor(41), tensor(0.8880)) 1956 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1957 | tensor(100) tensor(500) tensor(1000) 1958 | best: tensor([1.0000, 0.8880, 0.8790]) 1959 | best: (tensor(23), tensor(0.8750)) 1960 | data: coauthor-phy, method: mlp-trans 1961 | time:0.364±0.266 1962 | conv:20.400±15.515 1963 | acc:89.53±1.14 1964 | BiDirection: True 1965 | nodes: 34493 1966 | features: 8415 1967 | classes: 5 1968 | edges: 247962 1969 | degree: 14.38 1970 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1971 | tensor(100) tensor(500) tensor(1000) 1972 | params: 2223621 1973 | params: 2223621 1974 | best: tensor([0.9900, 0.9460, 0.9510]) 1975 | best: (tensor(0), tensor(0.9500)) 1976 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1977 | tensor(100) tensor(500) tensor(1000) 1978 | best: tensor([0.9900, 0.9360, 0.9380]) 1979 | best: (tensor(9), tensor(0.9310)) 1980 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1981 | tensor(100) tensor(500) tensor(1000) 1982 | best: tensor([1.0000, 0.9500, 0.9400]) 1983 | best: (tensor(150), tensor(0.9270)) 1984 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1985 | tensor(100) tensor(500) tensor(1000) 1986 | best: tensor([1.0000, 0.9480, 0.9480]) 1987 | best: (tensor(54), tensor(0.9330)) 1988 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1989 | tensor(100) tensor(500) tensor(1000) 1990 | best: tensor([0.9900, 0.9540, 0.9350]) 1991 | best: (tensor(3), tensor(0.9270)) 1992 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1993 | tensor(100) tensor(500) tensor(1000) 1994 | best: tensor([0.9600, 0.9420, 0.9320]) 1995 | best: (tensor(1), tensor(0.9320)) 1996 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 1997 | tensor(100) tensor(500) tensor(1000) 1998 | best: tensor([0.9800, 0.9240, 0.9440]) 1999 | best: (tensor(0), tensor(0.9440)) 2000 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2001 | tensor(100) tensor(500) tensor(1000) 2002 | best: tensor([1.0000, 0.9520, 0.9380]) 2003 | best: (tensor(5), tensor(0.9310)) 2004 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2005 | tensor(100) tensor(500) tensor(1000) 2006 | best: tensor([0.9900, 0.9560, 0.9450]) 2007 | best: (tensor(3), tensor(0.9400)) 2008 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2009 | tensor(100) tensor(500) tensor(1000) 2010 | best: tensor([1.0000, 0.9420, 0.9310]) 2011 | best: (tensor(2), tensor(0.9270)) 2012 | data: coauthor-phy, method: gcn-trans2mlp 2013 | time:40.231±9.380 2014 | conv:23.700±47.600 2015 | acc:93.42±0.79 2016 | BiDirection: True 2017 | nodes: 34493 2018 | features: 8415 2019 | classes: 5 2020 | edges: 247962 2021 | degree: 14.38 2022 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2023 | tensor(100) tensor(500) tensor(1000) 2024 | params: 2225930 2025 | best: tensor([1.0000, 0.8960, 0.8990]) 2026 | best: (tensor(0), tensor(0.8990)) 2027 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2028 | tensor(100) tensor(500) tensor(1000) 2029 | best: tensor([1.0000, 0.9040, 0.9120]) 2030 | best: (tensor(0), tensor(0.9120)) 2031 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2032 | tensor(100) tensor(500) tensor(1000) 2033 | best: tensor([1.0000, 0.9140, 0.9080]) 2034 | best: (tensor(0), tensor(0.9080)) 2035 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2036 | tensor(100) tensor(500) tensor(1000) 2037 | best: tensor([1.0000, 0.9080, 0.9070]) 2038 | best: (tensor(0), tensor(0.9070)) 2039 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2040 | tensor(100) tensor(500) tensor(1000) 2041 | best: tensor([1.0000, 0.9280, 0.8980]) 2042 | best: (tensor(0), tensor(0.8980)) 2043 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2044 | tensor(100) tensor(500) tensor(1000) 2045 | best: tensor([1.0000, 0.9120, 0.9080]) 2046 | best: (tensor(0), tensor(0.9080)) 2047 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2048 | tensor(100) tensor(500) tensor(1000) 2049 | best: tensor([1.0000, 0.9060, 0.9180]) 2050 | best: (tensor(0), tensor(0.9180)) 2051 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2052 | tensor(100) tensor(500) tensor(1000) 2053 | best: tensor([1.0000, 0.9040, 0.9030]) 2054 | best: (tensor(0), tensor(0.9030)) 2055 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2056 | tensor(100) tensor(500) tensor(1000) 2057 | best: tensor([1.0000, 0.9180, 0.8900]) 2058 | best: (tensor(0), tensor(0.8900)) 2059 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2060 | tensor(100) tensor(500) tensor(1000) 2061 | best: tensor([1.0000, 0.9380, 0.9290]) 2062 | best: (tensor(0), tensor(0.9290)) 2063 | data: coauthor-phy, method: linkdist-nomp-trans 2064 | time:3.996±0.088 2065 | conv:1.000±0.000 2066 | acc:90.72±1.10 2067 | BiDirection: True 2068 | nodes: 34493 2069 | features: 8415 2070 | classes: 5 2071 | edges: 247962 2072 | degree: 14.38 2073 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2074 | tensor(100) tensor(500) tensor(1000) 2075 | params: 2223621 2076 | best: tensor([1.0000, 0.9420, 0.9480]) 2077 | best: (tensor(11), tensor(0.9470)) 2078 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2079 | tensor(100) tensor(500) tensor(1000) 2080 | best: tensor([1.0000, 0.9180, 0.9260]) 2081 | best: (tensor(6), tensor(0.9240)) 2082 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2083 | tensor(100) tensor(500) tensor(1000) 2084 | best: tensor([1.0000, 0.9260, 0.9300]) 2085 | best: (tensor(7), tensor(0.9250)) 2086 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2087 | tensor(100) tensor(500) tensor(1000) 2088 | best: tensor([1.0000, 0.9440, 0.9390]) 2089 | best: (tensor(11), tensor(0.9290)) 2090 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2091 | tensor(100) tensor(500) tensor(1000) 2092 | best: tensor([1.0000, 0.9360, 0.9360]) 2093 | best: (tensor(7), tensor(0.9300)) 2094 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2095 | tensor(100) tensor(500) tensor(1000) 2096 | best: tensor([1.0000, 0.9000, 0.9190]) 2097 | best: (tensor(3), tensor(0.9160)) 2098 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2099 | tensor(100) tensor(500) tensor(1000) 2100 | best: tensor([1.0000, 0.9040, 0.9270]) 2101 | best: (tensor(5), tensor(0.9230)) 2102 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2103 | tensor(100) tensor(500) tensor(1000) 2104 | best: tensor([1.0000, 0.9380, 0.9330]) 2105 | best: (tensor(6), tensor(0.9330)) 2106 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2107 | tensor(100) tensor(500) tensor(1000) 2108 | best: tensor([1.0000, 0.9300, 0.9340]) 2109 | best: (tensor(4), tensor(0.9320)) 2110 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2111 | tensor(100) tensor(500) tensor(1000) 2112 | best: tensor([1.0000, 0.9140, 0.9230]) 2113 | best: (tensor(5), tensor(0.9200)) 2114 | data: coauthor-phy, method: gcn-trans 2115 | time:1.346±0.474 2116 | conv:7.500±2.677 2117 | acc:92.79±0.86 2118 | BiDirection: True 2119 | nodes: 34493 2120 | features: 8415 2121 | classes: 5 2122 | edges: 247962 2123 | degree: 14.38 2124 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2125 | tensor(100) tensor(500) tensor(1000) 2126 | params: 2225930 2127 | best: tensor([1.0000, 0.9100, 0.9200]) 2128 | best: (tensor(0), tensor(0.9200)) 2129 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2130 | tensor(100) tensor(500) tensor(1000) 2131 | best: tensor([1.0000, 0.9180, 0.9230]) 2132 | best: (tensor(0), tensor(0.9230)) 2133 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2134 | tensor(100) tensor(500) tensor(1000) 2135 | best: tensor([1.0000, 0.9300, 0.9310]) 2136 | best: (tensor(0), tensor(0.9310)) 2137 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2138 | tensor(100) tensor(500) tensor(1000) 2139 | best: tensor([1.0000, 0.9260, 0.9240]) 2140 | best: (tensor(0), tensor(0.9240)) 2141 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2142 | tensor(100) tensor(500) tensor(1000) 2143 | best: tensor([1.0000, 0.9300, 0.9120]) 2144 | best: (tensor(0), tensor(0.9120)) 2145 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2146 | tensor(100) tensor(500) tensor(1000) 2147 | best: tensor([1.0000, 0.9140, 0.9190]) 2148 | best: (tensor(0), tensor(0.9190)) 2149 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2150 | tensor(100) tensor(500) tensor(1000) 2151 | best: tensor([1.0000, 0.9160, 0.9310]) 2152 | best: (tensor(0), tensor(0.9310)) 2153 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2154 | tensor(100) tensor(500) tensor(1000) 2155 | best: tensor([1.0000, 0.9160, 0.9100]) 2156 | best: (tensor(0), tensor(0.9100)) 2157 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2158 | tensor(100) tensor(500) tensor(1000) 2159 | best: tensor([1.0000, 0.9240, 0.9010]) 2160 | best: (tensor(0), tensor(0.9010)) 2161 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 2162 | tensor(100) tensor(500) tensor(1000) 2163 | best: tensor([1.0000, 0.9460, 0.9350]) 2164 | best: (tensor(0), tensor(0.9350)) 2165 | data: coauthor-phy, method: linkdist-trans 2166 | time:4.029±0.087 2167 | conv:1.000±0.000 2168 | acc:92.06±1.06 2169 | NumNodes: 2708 2170 | NumEdges: 10556 2171 | NumFeats: 1433 2172 | NumClasses: 7 2173 | NumTrainingSamples: 140 2174 | NumValidationSamples: 500 2175 | NumTestSamples: 1000 2176 | Done loading data from cached files. 2177 | BiDirection: True 2178 | nodes: 2708 2179 | features: 1433 2180 | classes: 7 2181 | edges: 5278 2182 | degree: 3.90 2183 | params: 436743 2184 | best: tensor([1.0000, 0.5940, 0.5780]) 2185 | best: (tensor(99), tensor(0.5740)) 2186 | best: tensor([1.0000, 0.5960, 0.5750]) 2187 | best: (tensor(178), tensor(0.5710)) 2188 | best: tensor([1.0000, 0.5940, 0.5800]) 2189 | best: (tensor(148), tensor(0.5640)) 2190 | best: tensor([1.0000, 0.5680, 0.5560]) 2191 | best: (tensor(168), tensor(0.5530)) 2192 | best: tensor([1.0000, 0.5720, 0.5650]) 2193 | best: (tensor(80), tensor(0.5580)) 2194 | best: tensor([1.0000, 0.5780, 0.5750]) 2195 | best: (tensor(68), tensor(0.5630)) 2196 | best: tensor([1.0000, 0.5760, 0.5740]) 2197 | best: (tensor(197), tensor(0.5710)) 2198 | best: tensor([1.0000, 0.5620, 0.5580]) 2199 | best: (tensor(189), tensor(0.5460)) 2200 | best: tensor([1.0000, 0.5920, 0.5710]) 2201 | best: (tensor(122), tensor(0.5610)) 2202 | best: tensor([1.0000, 0.5640, 0.5700]) 2203 | best: (tensor(77), tensor(0.5670)) 2204 | data: cora, method: mlp 2205 | time:0.672±0.247 2206 | conv:133.600±49.612 2207 | acc:56.28±0.87 2208 | NumNodes: 2708 2209 | NumEdges: 10556 2210 | NumFeats: 1433 2211 | NumClasses: 7 2212 | NumTrainingSamples: 140 2213 | NumValidationSamples: 500 2214 | NumTestSamples: 1000 2215 | Done loading data from cached files. 2216 | BiDirection: True 2217 | nodes: 2708 2218 | features: 1433 2219 | classes: 7 2220 | edges: 5278 2221 | degree: 3.90 2222 | params: 436743 2223 | params: 436743 2224 | best: tensor([0.9857, 0.6660, 0.7020]) 2225 | best: (tensor(80), tensor(0.6860)) 2226 | best: tensor([0.9929, 0.6680, 0.6960]) 2227 | best: (tensor(9), tensor(0.6660)) 2228 | best: tensor([0.9929, 0.6580, 0.7010]) 2229 | best: (tensor(166), tensor(0.6770)) 2230 | best: tensor([0.9929, 0.6760, 0.6880]) 2231 | best: (tensor(169), tensor(0.6680)) 2232 | best: tensor([0.9929, 0.6540, 0.7000]) 2233 | best: (tensor(50), tensor(0.6900)) 2234 | best: tensor([0.9929, 0.6900, 0.6920]) 2235 | best: (tensor(107), tensor(0.6780)) 2236 | best: tensor([0.9857, 0.6500, 0.6800]) 2237 | best: (tensor(36), tensor(0.6720)) 2238 | best: tensor([0.9714, 0.6520, 0.6740]) 2239 | best: (tensor(27), tensor(0.6650)) 2240 | best: tensor([0.9786, 0.6720, 0.6820]) 2241 | best: (tensor(114), tensor(0.6660)) 2242 | best: tensor([0.9857, 0.6540, 0.6800]) 2243 | best: (tensor(80), tensor(0.6600)) 2244 | data: cora, method: gcn2mlp 2245 | time:2.720±0.584 2246 | conv:84.800±55.521 2247 | acc:67.28±0.98 2248 | NumNodes: 2708 2249 | NumEdges: 10556 2250 | NumFeats: 1433 2251 | NumClasses: 7 2252 | NumTrainingSamples: 140 2253 | NumValidationSamples: 500 2254 | NumTestSamples: 1000 2255 | Done loading data from cached files. 2256 | BiDirection: True 2257 | nodes: 2708 2258 | features: 1433 2259 | classes: 7 2260 | edges: 5278 2261 | degree: 3.90 2262 | params: 439566 2263 | best: tensor([0.9214, 0.6220, 0.6700]) 2264 | best: (tensor(31), tensor(0.6670)) 2265 | best: tensor([0.9071, 0.6340, 0.6760]) 2266 | best: (tensor(26), tensor(0.6530)) 2267 | best: tensor([0.9143, 0.6360, 0.6760]) 2268 | best: (tensor(35), tensor(0.6680)) 2269 | best: tensor([0.9357, 0.6240, 0.6640]) 2270 | best: (tensor(42), tensor(0.6580)) 2271 | best: tensor([0.9214, 0.6340, 0.6730]) 2272 | best: (tensor(33), tensor(0.6730)) 2273 | best: tensor([0.9143, 0.6420, 0.6750]) 2274 | best: (tensor(42), tensor(0.6750)) 2275 | best: tensor([0.9286, 0.6280, 0.6540]) 2276 | best: (tensor(26), tensor(0.6500)) 2277 | best: tensor([0.9286, 0.6440, 0.6770]) 2278 | best: (tensor(21), tensor(0.6630)) 2279 | best: tensor([0.9357, 0.6160, 0.6800]) 2280 | best: (tensor(41), tensor(0.6570)) 2281 | best: tensor([0.9143, 0.6260, 0.6750]) 2282 | best: (tensor(24), tensor(0.6740)) 2283 | data: cora, method: linkdist-nomp 2284 | time:0.851±0.199 2285 | conv:33.100±7.810 2286 | acc:66.38±0.90 2287 | NumNodes: 2708 2288 | NumEdges: 10556 2289 | NumFeats: 1433 2290 | NumClasses: 7 2291 | NumTrainingSamples: 140 2292 | NumValidationSamples: 500 2293 | NumTestSamples: 1000 2294 | Done loading data from cached files. 2295 | BiDirection: True 2296 | nodes: 2708 2297 | features: 1433 2298 | classes: 7 2299 | edges: 5278 2300 | degree: 3.90 2301 | params: 436743 2302 | best: tensor([0.9929, 0.7680, 0.7820]) 2303 | best: (tensor(47), tensor(0.7750)) 2304 | best: tensor([0.9929, 0.7640, 0.7720]) 2305 | best: (tensor(108), tensor(0.7680)) 2306 | best: tensor([0.9929, 0.7700, 0.7770]) 2307 | best: (tensor(101), tensor(0.7720)) 2308 | best: tensor([0.9929, 0.7700, 0.7800]) 2309 | best: (tensor(83), tensor(0.7760)) 2310 | best: tensor([0.9929, 0.7840, 0.7840]) 2311 | best: (tensor(170), tensor(0.7760)) 2312 | best: tensor([0.9929, 0.7720, 0.7890]) 2313 | best: (tensor(122), tensor(0.7880)) 2314 | best: tensor([0.9857, 0.7620, 0.7710]) 2315 | best: (tensor(60), tensor(0.7560)) 2316 | best: tensor([0.9929, 0.7620, 0.7710]) 2317 | best: (tensor(164), tensor(0.7610)) 2318 | best: tensor([0.9857, 0.7800, 0.7810]) 2319 | best: (tensor(66), tensor(0.7650)) 2320 | best: tensor([0.9929, 0.7580, 0.7770]) 2321 | best: (tensor(94), tensor(0.7750)) 2322 | data: cora, method: gcn 2323 | time:0.934±0.365 2324 | conv:102.500±41.382 2325 | acc:77.12±0.91 2326 | NumNodes: 2708 2327 | NumEdges: 10556 2328 | NumFeats: 1433 2329 | NumClasses: 7 2330 | NumTrainingSamples: 140 2331 | NumValidationSamples: 500 2332 | NumTestSamples: 1000 2333 | Done loading data from cached files. 2334 | BiDirection: True 2335 | nodes: 2708 2336 | features: 1433 2337 | classes: 7 2338 | edges: 5278 2339 | degree: 3.90 2340 | params: 439566 2341 | best: tensor([0.9357, 0.7320, 0.7570]) 2342 | best: (tensor(38), tensor(0.7540)) 2343 | best: tensor([0.9500, 0.7360, 0.7680]) 2344 | best: (tensor(39), tensor(0.7550)) 2345 | best: tensor([0.9357, 0.7360, 0.7630]) 2346 | best: (tensor(35), tensor(0.7490)) 2347 | best: tensor([0.9429, 0.7260, 0.7530]) 2348 | best: (tensor(28), tensor(0.7460)) 2349 | best: tensor([0.9357, 0.7400, 0.7720]) 2350 | best: (tensor(32), tensor(0.7670)) 2351 | best: tensor([0.9286, 0.7400, 0.7680]) 2352 | best: (tensor(16), tensor(0.7680)) 2353 | best: tensor([0.9500, 0.7360, 0.7620]) 2354 | best: (tensor(36), tensor(0.7510)) 2355 | best: tensor([0.9429, 0.7480, 0.7650]) 2356 | best: (tensor(37), tensor(0.7550)) 2357 | best: tensor([0.9357, 0.7320, 0.7710]) 2358 | best: (tensor(17), tensor(0.7660)) 2359 | best: tensor([0.9429, 0.7500, 0.7770]) 2360 | best: (tensor(33), tensor(0.7610)) 2361 | data: cora, method: linkdist 2362 | time:0.825±0.213 2363 | conv:32.100±8.333 2364 | acc:75.72±0.79 2365 | NumNodes: 3327 2366 | NumEdges: 9228 2367 | NumFeats: 3703 2368 | NumClasses: 6 2369 | NumTrainingSamples: 120 2370 | NumValidationSamples: 500 2371 | NumTestSamples: 1000 2372 | Done loading data from cached files. 2373 | BiDirection: True 2374 | nodes: 3327 2375 | features: 3703 2376 | classes: 6 2377 | edges: 4552 2378 | degree: 2.77 2379 | params: 1017606 2380 | best: tensor([1.0000, 0.5500, 0.5720]) 2381 | best: (tensor(67), tensor(0.5560)) 2382 | best: tensor([1.0000, 0.5240, 0.5470]) 2383 | best: (tensor(34), tensor(0.5370)) 2384 | best: tensor([1.0000, 0.5260, 0.5350]) 2385 | best: (tensor(149), tensor(0.5270)) 2386 | best: tensor([1.0000, 0.5560, 0.5770]) 2387 | best: (tensor(197), tensor(0.5540)) 2388 | best: tensor([1.0000, 0.5400, 0.5650]) 2389 | best: (tensor(56), tensor(0.5510)) 2390 | best: tensor([1.0000, 0.5400, 0.5570]) 2391 | best: (tensor(82), tensor(0.5480)) 2392 | best: tensor([1.0000, 0.5580, 0.5730]) 2393 | best: (tensor(71), tensor(0.5630)) 2394 | best: tensor([1.0000, 0.5600, 0.5540]) 2395 | best: (tensor(77), tensor(0.5400)) 2396 | best: tensor([1.0000, 0.5140, 0.5450]) 2397 | best: (tensor(199), tensor(0.5410)) 2398 | best: tensor([1.0000, 0.5460, 0.5610]) 2399 | best: (tensor(92), tensor(0.5570)) 2400 | data: citeseer, method: mlp 2401 | time:0.560±0.309 2402 | conv:103.400±58.397 2403 | acc:54.74±1.10 2404 | NumNodes: 3327 2405 | NumEdges: 9228 2406 | NumFeats: 3703 2407 | NumClasses: 6 2408 | NumTrainingSamples: 120 2409 | NumValidationSamples: 500 2410 | NumTestSamples: 1000 2411 | Done loading data from cached files. 2412 | BiDirection: True 2413 | nodes: 3327 2414 | features: 3703 2415 | classes: 6 2416 | edges: 4552 2417 | degree: 2.77 2418 | params: 1017606 2419 | params: 1017606 2420 | best: tensor([0.9750, 0.6540, 0.6670]) 2421 | best: (tensor(48), tensor(0.6490)) 2422 | best: tensor([0.9833, 0.6440, 0.6430]) 2423 | best: (tensor(5), tensor(0.6420)) 2424 | best: tensor([0.9750, 0.6480, 0.6600]) 2425 | best: (tensor(77), tensor(0.6430)) 2426 | best: tensor([0.9750, 0.6540, 0.6500]) 2427 | best: (tensor(171), tensor(0.6400)) 2428 | best: tensor([0.9750, 0.6660, 0.6480]) 2429 | best: (tensor(100), tensor(0.6420)) 2430 | best: tensor([0.9750, 0.6660, 0.6620]) 2431 | best: (tensor(187), tensor(0.6570)) 2432 | best: tensor([0.9750, 0.6520, 0.6540]) 2433 | best: (tensor(69), tensor(0.6520)) 2434 | best: tensor([0.9917, 0.6400, 0.6370]) 2435 | best: (tensor(11), tensor(0.6280)) 2436 | best: tensor([0.9833, 0.6400, 0.6520]) 2437 | best: (tensor(164), tensor(0.6350)) 2438 | best: tensor([0.9833, 0.6300, 0.6410]) 2439 | best: (tensor(98), tensor(0.6310)) 2440 | data: citeseer, method: gcn2mlp 2441 | time:3.526±0.779 2442 | conv:94.000±64.429 2443 | acc:64.19±0.91 2444 | NumNodes: 3327 2445 | NumEdges: 9228 2446 | NumFeats: 3703 2447 | NumClasses: 6 2448 | NumTrainingSamples: 120 2449 | NumValidationSamples: 500 2450 | NumTestSamples: 1000 2451 | Done loading data from cached files. 2452 | BiDirection: True 2453 | nodes: 3327 2454 | features: 3703 2455 | classes: 6 2456 | edges: 4552 2457 | degree: 2.77 2458 | params: 1020172 2459 | best: tensor([0.9083, 0.6580, 0.6770]) 2460 | best: (tensor(61), tensor(0.6640)) 2461 | best: tensor([0.9000, 0.6720, 0.6860]) 2462 | best: (tensor(56), tensor(0.6770)) 2463 | best: tensor([0.9083, 0.6640, 0.6820]) 2464 | best: (tensor(53), tensor(0.6710)) 2465 | best: tensor([0.9000, 0.6680, 0.6790]) 2466 | best: (tensor(48), tensor(0.6780)) 2467 | best: tensor([0.8917, 0.6640, 0.6850]) 2468 | best: (tensor(35), tensor(0.6850)) 2469 | best: tensor([0.9000, 0.6540, 0.6790]) 2470 | best: (tensor(52), tensor(0.6790)) 2471 | best: tensor([0.9167, 0.6760, 0.6820]) 2472 | best: (tensor(68), tensor(0.6820)) 2473 | best: tensor([0.9083, 0.6940, 0.6950]) 2474 | best: (tensor(64), tensor(0.6900)) 2475 | best: tensor([0.9167, 0.6680, 0.6840]) 2476 | best: (tensor(44), tensor(0.6780)) 2477 | best: tensor([0.9000, 0.6840, 0.6850]) 2478 | best: (tensor(47), tensor(0.6810)) 2479 | data: citeseer, method: linkdist-nomp 2480 | time:1.397±0.257 2481 | conv:53.800±9.920 2482 | acc:67.85±0.72 2483 | NumNodes: 3327 2484 | NumEdges: 9228 2485 | NumFeats: 3703 2486 | NumClasses: 6 2487 | NumTrainingSamples: 120 2488 | NumValidationSamples: 500 2489 | NumTestSamples: 1000 2490 | Done loading data from cached files. 2491 | BiDirection: True 2492 | nodes: 3327 2493 | features: 3703 2494 | classes: 6 2495 | edges: 4552 2496 | degree: 2.77 2497 | params: 1017606 2498 | best: tensor([0.9917, 0.6480, 0.6380]) 2499 | best: (tensor(55), tensor(0.6380)) 2500 | best: tensor([0.9917, 0.6340, 0.6340]) 2501 | best: (tensor(55), tensor(0.6260)) 2502 | best: tensor([0.9833, 0.6540, 0.6460]) 2503 | best: (tensor(61), tensor(0.6310)) 2504 | best: tensor([0.9917, 0.6440, 0.6290]) 2505 | best: (tensor(43), tensor(0.6220)) 2506 | best: tensor([0.9833, 0.6620, 0.6260]) 2507 | best: (tensor(35), tensor(0.6190)) 2508 | best: tensor([0.9917, 0.6520, 0.6410]) 2509 | best: (tensor(49), tensor(0.6370)) 2510 | best: tensor([0.9917, 0.6480, 0.6390]) 2511 | best: (tensor(81), tensor(0.6310)) 2512 | best: tensor([0.9917, 0.6380, 0.6300]) 2513 | best: (tensor(62), tensor(0.6300)) 2514 | best: tensor([0.9917, 0.6400, 0.6400]) 2515 | best: (tensor(117), tensor(0.6370)) 2516 | best: tensor([0.9917, 0.6340, 0.6360]) 2517 | best: (tensor(59), tensor(0.6270)) 2518 | data: citeseer, method: gcn 2519 | time:0.749±0.268 2520 | conv:62.700±22.978 2521 | acc:62.98±0.64 2522 | NumNodes: 3327 2523 | NumEdges: 9228 2524 | NumFeats: 3703 2525 | NumClasses: 6 2526 | NumTrainingSamples: 120 2527 | NumValidationSamples: 500 2528 | NumTestSamples: 1000 2529 | Done loading data from cached files. 2530 | BiDirection: True 2531 | nodes: 3327 2532 | features: 3703 2533 | classes: 6 2534 | edges: 4552 2535 | degree: 2.77 2536 | params: 1020172 2537 | best: tensor([0.9250, 0.6780, 0.7120]) 2538 | best: (tensor(54), tensor(0.6960)) 2539 | best: tensor([0.9167, 0.6940, 0.7110]) 2540 | best: (tensor(66), tensor(0.7040)) 2541 | best: tensor([0.9333, 0.6820, 0.7230]) 2542 | best: (tensor(53), tensor(0.7150)) 2543 | best: tensor([0.9250, 0.6880, 0.7250]) 2544 | best: (tensor(69), tensor(0.7090)) 2545 | best: tensor([0.9333, 0.6860, 0.7280]) 2546 | best: (tensor(70), tensor(0.7140)) 2547 | best: tensor([0.9250, 0.6760, 0.7130]) 2548 | best: (tensor(44), tensor(0.7050)) 2549 | best: tensor([0.9083, 0.6960, 0.7200]) 2550 | best: (tensor(70), tensor(0.7120)) 2551 | best: tensor([0.9333, 0.7120, 0.7280]) 2552 | best: (tensor(42), tensor(0.7220)) 2553 | best: tensor([0.9250, 0.6800, 0.7200]) 2554 | best: (tensor(50), tensor(0.7140)) 2555 | best: tensor([0.9167, 0.7080, 0.7280]) 2556 | best: (tensor(43), tensor(0.7280)) 2557 | data: citeseer, method: linkdist 2558 | time:1.495±0.300 2559 | conv:57.100±11.638 2560 | acc:71.19±0.91 2561 | NumNodes: 19717 2562 | NumEdges: 88651 2563 | NumFeats: 500 2564 | NumClasses: 3 2565 | NumTrainingSamples: 60 2566 | NumValidationSamples: 500 2567 | NumTestSamples: 1000 2568 | Done loading data from cached files. 2569 | BiDirection: True 2570 | nodes: 19717 2571 | features: 500 2572 | classes: 3 2573 | edges: 44324 2574 | degree: 4.50 2575 | params: 196867 2576 | best: tensor([1.0000, 0.7120, 0.7170]) 2577 | best: (tensor(107), tensor(0.7080)) 2578 | best: tensor([1.0000, 0.6880, 0.7190]) 2579 | best: (tensor(22), tensor(0.7150)) 2580 | best: tensor([1.0000, 0.7060, 0.7130]) 2581 | best: (tensor(28), tensor(0.7070)) 2582 | best: tensor([1.0000, 0.6960, 0.7180]) 2583 | best: (tensor(69), tensor(0.7150)) 2584 | best: tensor([1.0000, 0.7160, 0.7180]) 2585 | best: (tensor(189), tensor(0.7110)) 2586 | best: tensor([1.0000, 0.6900, 0.7080]) 2587 | best: (tensor(16), tensor(0.6880)) 2588 | best: tensor([1.0000, 0.7120, 0.7190]) 2589 | best: (tensor(26), tensor(0.7030)) 2590 | best: tensor([1.0000, 0.7020, 0.7000]) 2591 | best: (tensor(34), tensor(0.6840)) 2592 | best: tensor([1.0000, 0.7100, 0.7130]) 2593 | best: (tensor(142), tensor(0.7010)) 2594 | best: tensor([1.0000, 0.7000, 0.7050]) 2595 | best: (tensor(94), tensor(0.7010)) 2596 | data: pubmed, method: mlp 2597 | time:0.458±0.365 2598 | conv:73.700±59.099 2599 | acc:70.33±1.05 2600 | NumNodes: 19717 2601 | NumEdges: 88651 2602 | NumFeats: 500 2603 | NumClasses: 3 2604 | NumTrainingSamples: 60 2605 | NumValidationSamples: 500 2606 | NumTestSamples: 1000 2607 | Done loading data from cached files. 2608 | BiDirection: True 2609 | nodes: 19717 2610 | features: 500 2611 | classes: 3 2612 | edges: 44324 2613 | degree: 4.50 2614 | params: 196867 2615 | params: 196867 2616 | best: tensor([1.0000, 0.7740, 0.7750]) 2617 | best: (tensor(2), tensor(0.7750)) 2618 | best: tensor([1.0000, 0.7640, 0.7930]) 2619 | best: (tensor(3), tensor(0.7930)) 2620 | best: tensor([1.0000, 0.7860, 0.7950]) 2621 | best: (tensor(25), tensor(0.7670)) 2622 | best: tensor([1.0000, 0.7780, 0.7850]) 2623 | best: (tensor(0), tensor(0.7780)) 2624 | best: tensor([1.0000, 0.7540, 0.7730]) 2625 | best: (tensor(11), tensor(0.7370)) 2626 | best: tensor([1.0000, 0.7460, 0.7630]) 2627 | best: (tensor(136), tensor(0.7410)) 2628 | best: tensor([1.0000, 0.7880, 0.7790]) 2629 | best: (tensor(8), tensor(0.7640)) 2630 | best: tensor([1.0000, 0.7740, 0.7840]) 2631 | best: (tensor(2), tensor(0.7840)) 2632 | best: tensor([1.0000, 0.7400, 0.7610]) 2633 | best: (tensor(0), tensor(0.7610)) 2634 | best: tensor([1.0000, 0.7480, 0.7720]) 2635 | best: (tensor(13), tensor(0.7720)) 2636 | data: pubmed, method: gcn2mlp 2637 | time:7.178±4.119 2638 | conv:21.000±41.489 2639 | acc:76.72±1.76 2640 | NumNodes: 19717 2641 | NumEdges: 88651 2642 | NumFeats: 500 2643 | NumClasses: 3 2644 | NumTrainingSamples: 60 2645 | NumValidationSamples: 500 2646 | NumTestSamples: 1000 2647 | Done loading data from cached files. 2648 | BiDirection: True 2649 | nodes: 19717 2650 | features: 500 2651 | classes: 3 2652 | edges: 44324 2653 | degree: 4.50 2654 | params: 198662 2655 | best: tensor([1.0000, 0.7040, 0.7350]) 2656 | best: (tensor(3), tensor(0.7310)) 2657 | best: tensor([1.0000, 0.6880, 0.7120]) 2658 | best: (tensor(0), tensor(0.6840)) 2659 | best: tensor([1.0000, 0.7400, 0.7450]) 2660 | best: (tensor(0), tensor(0.7450)) 2661 | best: tensor([1.0000, 0.7300, 0.7340]) 2662 | best: (tensor(1), tensor(0.7180)) 2663 | best: tensor([1.0000, 0.7120, 0.7300]) 2664 | best: (tensor(5), tensor(0.7130)) 2665 | best: tensor([1.0000, 0.7340, 0.7570]) 2666 | best: (tensor(2), tensor(0.7470)) 2667 | best: tensor([1.0000, 0.7140, 0.7330]) 2668 | best: (tensor(0), tensor(0.7200)) 2669 | best: tensor([1.0000, 0.7460, 0.7380]) 2670 | best: (tensor(1), tensor(0.7380)) 2671 | best: tensor([1.0000, 0.7180, 0.7290]) 2672 | best: (tensor(2), tensor(0.7290)) 2673 | best: tensor([1.0000, 0.7200, 0.7530]) 2674 | best: (tensor(2), tensor(0.7530)) 2675 | data: pubmed, method: linkdist-nomp 2676 | time:1.626±0.983 2677 | conv:2.600±1.578 2678 | acc:72.78±2.03 2679 | NumNodes: 19717 2680 | NumEdges: 88651 2681 | NumFeats: 500 2682 | NumClasses: 3 2683 | NumTrainingSamples: 60 2684 | NumValidationSamples: 500 2685 | NumTestSamples: 1000 2686 | Done loading data from cached files. 2687 | BiDirection: True 2688 | nodes: 19717 2689 | features: 500 2690 | classes: 3 2691 | edges: 44324 2692 | degree: 4.50 2693 | params: 196867 2694 | best: tensor([1.0000, 0.7560, 0.7470]) 2695 | best: (tensor(44), tensor(0.7120)) 2696 | best: tensor([1.0000, 0.7620, 0.7560]) 2697 | best: (tensor(80), tensor(0.7470)) 2698 | best: tensor([1.0000, 0.7780, 0.7570]) 2699 | best: (tensor(59), tensor(0.7500)) 2700 | best: tensor([1.0000, 0.7660, 0.7520]) 2701 | best: (tensor(49), tensor(0.7300)) 2702 | best: tensor([1.0000, 0.7320, 0.7220]) 2703 | best: (tensor(148), tensor(0.7190)) 2704 | best: tensor([1.0000, 0.7360, 0.7260]) 2705 | best: (tensor(104), tensor(0.7240)) 2706 | best: tensor([1.0000, 0.7640, 0.7470]) 2707 | best: (tensor(39), tensor(0.7410)) 2708 | best: tensor([1.0000, 0.7640, 0.7520]) 2709 | best: (tensor(52), tensor(0.7290)) 2710 | best: tensor([1.0000, 0.7380, 0.7270]) 2711 | best: (tensor(40), tensor(0.7020)) 2712 | best: tensor([1.0000, 0.7460, 0.7460]) 2713 | best: (tensor(195), tensor(0.7460)) 2714 | data: pubmed, method: gcn 2715 | time:2.081±1.342 2716 | conv:82.000±52.892 2717 | acc:73.00±1.61 2718 | NumNodes: 19717 2719 | NumEdges: 88651 2720 | NumFeats: 500 2721 | NumClasses: 3 2722 | NumTrainingSamples: 60 2723 | NumValidationSamples: 500 2724 | NumTestSamples: 1000 2725 | Done loading data from cached files. 2726 | BiDirection: True 2727 | nodes: 19717 2728 | features: 500 2729 | classes: 3 2730 | edges: 44324 2731 | degree: 4.50 2732 | params: 198662 2733 | best: tensor([1.0000, 0.7360, 0.7520]) 2734 | best: (tensor(2), tensor(0.7450)) 2735 | best: tensor([1.0000, 0.7280, 0.7320]) 2736 | best: (tensor(1), tensor(0.7210)) 2737 | best: tensor([1.0000, 0.7760, 0.7520]) 2738 | best: (tensor(0), tensor(0.7520)) 2739 | best: tensor([1.0000, 0.7520, 0.7490]) 2740 | best: (tensor(2), tensor(0.7430)) 2741 | best: tensor([1.0000, 0.7620, 0.7570]) 2742 | best: (tensor(0), tensor(0.7460)) 2743 | best: tensor([1.0000, 0.7700, 0.7700]) 2744 | best: (tensor(2), tensor(0.7620)) 2745 | best: tensor([1.0000, 0.7600, 0.7520]) 2746 | best: (tensor(0), tensor(0.7520)) 2747 | best: tensor([1.0000, 0.7600, 0.7560]) 2748 | best: (tensor(1), tensor(0.7560)) 2749 | best: tensor([1.0000, 0.7400, 0.7550]) 2750 | best: (tensor(2), tensor(0.7440)) 2751 | best: tensor([1.0000, 0.7520, 0.7630]) 2752 | best: (tensor(2), tensor(0.7630)) 2753 | data: pubmed, method: linkdist 2754 | time:1.456±0.587 2755 | conv:2.200±0.919 2756 | acc:74.84±1.20 2757 | BiDirection: True 2758 | nodes: 19793 2759 | features: 8710 2760 | classes: 70 2761 | edges: 63421 2762 | degree: 6.41 2763 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2764 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2765 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2766 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2767 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2768 | device='cuda:1') 2769 | tensor(1395) tensor(500) tensor(1000) 2770 | params: 2315846 2771 | best: tensor([0.9993, 0.4760, 0.4290]) 2772 | best: (tensor(50), tensor(0.4280)) 2773 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2774 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2775 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2776 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2777 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2778 | device='cuda:1') 2779 | tensor(1395) tensor(500) tensor(1000) 2780 | best: tensor([1.0000, 0.4320, 0.4310]) 2781 | best: (tensor(30), tensor(0.4310)) 2782 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2783 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2784 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2785 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2786 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2787 | device='cuda:1') 2788 | tensor(1395) tensor(500) tensor(1000) 2789 | best: tensor([0.9993, 0.4300, 0.4280]) 2790 | best: (tensor(117), tensor(0.4060)) 2791 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2792 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2793 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2794 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2795 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2796 | device='cuda:1') 2797 | tensor(1395) tensor(500) tensor(1000) 2798 | best: tensor([1.0000, 0.4100, 0.4280]) 2799 | best: (tensor(12), tensor(0.4210)) 2800 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2801 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2802 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2803 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2804 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2805 | device='cuda:1') 2806 | tensor(1395) tensor(500) tensor(1000) 2807 | best: tensor([0.9993, 0.4480, 0.4380]) 2808 | best: (tensor(32), tensor(0.4210)) 2809 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2810 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2811 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2812 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2813 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2814 | device='cuda:1') 2815 | tensor(1395) tensor(500) tensor(1000) 2816 | best: tensor([0.9993, 0.4540, 0.4320]) 2817 | best: (tensor(47), tensor(0.4230)) 2818 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2819 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2820 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2821 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2822 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2823 | device='cuda:1') 2824 | tensor(1395) tensor(500) tensor(1000) 2825 | best: tensor([1.0000, 0.4620, 0.4210]) 2826 | best: (tensor(22), tensor(0.4050)) 2827 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2828 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2829 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2830 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2831 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2832 | device='cuda:1') 2833 | tensor(1395) tensor(500) tensor(1000) 2834 | best: tensor([0.9978, 0.4600, 0.4140]) 2835 | best: (tensor(60), tensor(0.4060)) 2836 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2837 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2838 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2839 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2840 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2841 | device='cuda:1') 2842 | tensor(1395) tensor(500) tensor(1000) 2843 | best: tensor([0.9986, 0.4220, 0.4440]) 2844 | best: (tensor(142), tensor(0.4270)) 2845 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2846 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2847 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2848 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2849 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2850 | device='cuda:1') 2851 | tensor(1395) tensor(500) tensor(1000) 2852 | best: tensor([1.0000, 0.4580, 0.4350]) 2853 | best: (tensor(48), tensor(0.4230)) 2854 | data: corafull, method: mlp 2855 | time:1.030±0.741 2856 | conv:57.000±41.711 2857 | acc:41.91±0.98 2858 | BiDirection: True 2859 | nodes: 19793 2860 | features: 8710 2861 | classes: 70 2862 | edges: 63421 2863 | degree: 6.41 2864 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2865 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2866 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2867 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2868 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2869 | device='cuda:1') 2870 | tensor(1395) tensor(500) tensor(1000) 2871 | params: 2315846 2872 | params: 2315846 2873 | best: tensor([0.9204, 0.5820, 0.5700]) 2874 | best: (tensor(89), tensor(0.5470)) 2875 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2876 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2877 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2878 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2879 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2880 | device='cuda:1') 2881 | tensor(1395) tensor(500) tensor(1000) 2882 | best: tensor([0.9656, 0.5760, 0.5550]) 2883 | best: (tensor(2), tensor(0.5470)) 2884 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2885 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2886 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2887 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2888 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2889 | device='cuda:1') 2890 | tensor(1395) tensor(500) tensor(1000) 2891 | best: tensor([0.9928, 0.5520, 0.5680]) 2892 | best: (tensor(3), tensor(0.5500)) 2893 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2894 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2895 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2896 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2897 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2898 | device='cuda:1') 2899 | tensor(1395) tensor(500) tensor(1000) 2900 | best: tensor([0.9878, 0.6040, 0.5330]) 2901 | best: (tensor(49), tensor(0.5120)) 2902 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2903 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2904 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2905 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2906 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2907 | device='cuda:1') 2908 | tensor(1395) tensor(500) tensor(1000) 2909 | best: tensor([0.9778, 0.5720, 0.5470]) 2910 | best: (tensor(0), tensor(0.5190)) 2911 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2912 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2913 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2914 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2915 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2916 | device='cuda:1') 2917 | tensor(1395) tensor(500) tensor(1000) 2918 | best: tensor([0.8674, 0.5380, 0.5440]) 2919 | best: (tensor(6), tensor(0.5440)) 2920 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2921 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2922 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2923 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2924 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2925 | device='cuda:1') 2926 | tensor(1395) tensor(500) tensor(1000) 2927 | best: tensor([0.9477, 0.5520, 0.5320]) 2928 | best: (tensor(34), tensor(0.5140)) 2929 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2930 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2931 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2932 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2933 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2934 | device='cuda:1') 2935 | tensor(1395) tensor(500) tensor(1000) 2936 | best: tensor([0.9591, 0.5740, 0.5200]) 2937 | best: (tensor(11), tensor(0.5120)) 2938 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2939 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2940 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2941 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2942 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2943 | device='cuda:1') 2944 | tensor(1395) tensor(500) tensor(1000) 2945 | best: tensor([0.9233, 0.5580, 0.5680]) 2946 | best: (tensor(22), tensor(0.5550)) 2947 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2948 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2949 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2950 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2951 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2952 | device='cuda:1') 2953 | tensor(1395) tensor(500) tensor(1000) 2954 | best: tensor([0.9125, 0.5680, 0.5620]) 2955 | best: (tensor(2), tensor(0.5590)) 2956 | data: corafull, method: gcn2mlp 2957 | time:18.619±3.018 2958 | conv:22.800±28.643 2959 | acc:53.59±1.92 2960 | BiDirection: True 2961 | nodes: 19793 2962 | features: 8710 2963 | classes: 70 2964 | edges: 63421 2965 | degree: 6.41 2966 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2967 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2968 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2969 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2970 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2971 | device='cuda:1') 2972 | tensor(1395) tensor(500) tensor(1000) 2973 | params: 2334860 2974 | best: tensor([0.9878, 0.5100, 0.4960]) 2975 | best: (tensor(0), tensor(0.4830)) 2976 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2977 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2978 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2979 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2980 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2981 | device='cuda:1') 2982 | tensor(1395) tensor(500) tensor(1000) 2983 | best: tensor([0.9907, 0.4980, 0.4940]) 2984 | best: (tensor(2), tensor(0.4790)) 2985 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2986 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2987 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2988 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2989 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2990 | device='cuda:1') 2991 | tensor(1395) tensor(500) tensor(1000) 2992 | best: tensor([0.9907, 0.5080, 0.4790]) 2993 | best: (tensor(4), tensor(0.4590)) 2994 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2995 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2996 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2997 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 2998 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 2999 | device='cuda:1') 3000 | tensor(1395) tensor(500) tensor(1000) 3001 | best: tensor([0.9892, 0.5220, 0.4890]) 3002 | best: (tensor(4), tensor(0.4640)) 3003 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3004 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3005 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3006 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3007 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3008 | device='cuda:1') 3009 | tensor(1395) tensor(500) tensor(1000) 3010 | best: tensor([0.9892, 0.5180, 0.4800]) 3011 | best: (tensor(1), tensor(0.4770)) 3012 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3013 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3014 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3015 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3016 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3017 | device='cuda:1') 3018 | tensor(1395) tensor(500) tensor(1000) 3019 | best: tensor([0.9864, 0.5060, 0.4910]) 3020 | best: (tensor(0), tensor(0.4830)) 3021 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3022 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3023 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3024 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3025 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3026 | device='cuda:1') 3027 | tensor(1395) tensor(500) tensor(1000) 3028 | best: tensor([0.9849, 0.4980, 0.4660]) 3029 | best: (tensor(2), tensor(0.4540)) 3030 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3031 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3032 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3033 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3034 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3035 | device='cuda:1') 3036 | tensor(1395) tensor(500) tensor(1000) 3037 | best: tensor([0.9871, 0.5060, 0.4630]) 3038 | best: (tensor(4), tensor(0.4350)) 3039 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3040 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3041 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3042 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3043 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3044 | device='cuda:1') 3045 | tensor(1395) tensor(500) tensor(1000) 3046 | best: tensor([0.9878, 0.4920, 0.5040]) 3047 | best: (tensor(2), tensor(0.4950)) 3048 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3049 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3050 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3051 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3052 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3053 | device='cuda:1') 3054 | tensor(1395) tensor(500) tensor(1000) 3055 | best: tensor([0.9842, 0.5160, 0.5070]) 3056 | best: (tensor(0), tensor(0.4860)) 3057 | data: corafull, method: linkdist-nomp 3058 | time:2.664±1.412 3059 | conv:2.900±1.663 3060 | acc:47.15±1.81 3061 | BiDirection: True 3062 | nodes: 19793 3063 | features: 8710 3064 | classes: 70 3065 | edges: 63421 3066 | degree: 6.41 3067 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3068 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3069 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3070 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3071 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3072 | device='cuda:1') 3073 | tensor(1395) tensor(500) tensor(1000) 3074 | params: 2315846 3075 | best: tensor([0.9971, 0.5940, 0.5790]) 3076 | best: (tensor(16), tensor(0.5720)) 3077 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3078 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3079 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3080 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3081 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3082 | device='cuda:1') 3083 | tensor(1395) tensor(500) tensor(1000) 3084 | best: tensor([0.9971, 0.5780, 0.5910]) 3085 | best: (tensor(29), tensor(0.5770)) 3086 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3087 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3088 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3089 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3090 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3091 | device='cuda:1') 3092 | tensor(1395) tensor(500) tensor(1000) 3093 | best: tensor([0.9971, 0.5820, 0.5700]) 3094 | best: (tensor(63), tensor(0.5470)) 3095 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3096 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3097 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3098 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3099 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3100 | device='cuda:1') 3101 | tensor(1395) tensor(500) tensor(1000) 3102 | best: tensor([0.9986, 0.6080, 0.5890]) 3103 | best: (tensor(55), tensor(0.5720)) 3104 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3105 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3106 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3107 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3108 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3109 | device='cuda:1') 3110 | tensor(1395) tensor(500) tensor(1000) 3111 | best: tensor([0.9957, 0.5920, 0.5380]) 3112 | best: (tensor(34), tensor(0.5360)) 3113 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3114 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3115 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3116 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3117 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3118 | device='cuda:1') 3119 | tensor(1395) tensor(500) tensor(1000) 3120 | best: tensor([0.9971, 0.6080, 0.5920]) 3121 | best: (tensor(10), tensor(0.5920)) 3122 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3123 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3124 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3125 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3126 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3127 | device='cuda:1') 3128 | tensor(1395) tensor(500) tensor(1000) 3129 | best: tensor([0.9964, 0.5780, 0.5630]) 3130 | best: (tensor(21), tensor(0.5520)) 3131 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3132 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3133 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3134 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3135 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3136 | device='cuda:1') 3137 | tensor(1395) tensor(500) tensor(1000) 3138 | best: tensor([0.9978, 0.5660, 0.5780]) 3139 | best: (tensor(24), tensor(0.5780)) 3140 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3141 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3142 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3143 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3144 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3145 | device='cuda:1') 3146 | tensor(1395) tensor(500) tensor(1000) 3147 | best: tensor([0.9986, 0.5860, 0.5830]) 3148 | best: (tensor(16), tensor(0.5760)) 3149 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3150 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3151 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3152 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3153 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3154 | device='cuda:1') 3155 | tensor(1395) tensor(500) tensor(1000) 3156 | best: tensor([0.9978, 0.5380, 0.5900]) 3157 | best: (tensor(13), tensor(0.5860)) 3158 | data: corafull, method: gcn 3159 | time:2.375±1.451 3160 | conv:29.100±17.929 3161 | acc:56.88±1.79 3162 | BiDirection: True 3163 | nodes: 19793 3164 | features: 8710 3165 | classes: 70 3166 | edges: 63421 3167 | degree: 6.41 3168 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3169 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3170 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3171 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3172 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3173 | device='cuda:1') 3174 | tensor(1395) tensor(500) tensor(1000) 3175 | params: 2334860 3176 | best: tensor([0.9900, 0.5900, 0.5740]) 3177 | best: (tensor(3), tensor(0.5570)) 3178 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3179 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3180 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3181 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3182 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3183 | device='cuda:1') 3184 | tensor(1395) tensor(500) tensor(1000) 3185 | best: tensor([0.9892, 0.5520, 0.5760]) 3186 | best: (tensor(1), tensor(0.5760)) 3187 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3188 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3189 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3190 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3191 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3192 | device='cuda:1') 3193 | tensor(1395) tensor(500) tensor(1000) 3194 | best: tensor([0.9914, 0.5660, 0.5430]) 3195 | best: (tensor(4), tensor(0.5380)) 3196 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3197 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3198 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3199 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3200 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3201 | device='cuda:1') 3202 | tensor(1395) tensor(500) tensor(1000) 3203 | best: tensor([0.9892, 0.6000, 0.5660]) 3204 | best: (tensor(2), tensor(0.5660)) 3205 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3206 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3207 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3208 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3209 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3210 | device='cuda:1') 3211 | tensor(1395) tensor(500) tensor(1000) 3212 | best: tensor([0.9871, 0.5700, 0.5660]) 3213 | best: (tensor(1), tensor(0.5590)) 3214 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3215 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3216 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3217 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3218 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3219 | device='cuda:1') 3220 | tensor(1395) tensor(500) tensor(1000) 3221 | best: tensor([0.9864, 0.5860, 0.5870]) 3222 | best: (tensor(1), tensor(0.5770)) 3223 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3224 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3225 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3226 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3227 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3228 | device='cuda:1') 3229 | tensor(1395) tensor(500) tensor(1000) 3230 | best: tensor([0.9828, 0.5720, 0.5520]) 3231 | best: (tensor(2), tensor(0.5430)) 3232 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3233 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3234 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3235 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3236 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3237 | device='cuda:1') 3238 | tensor(1395) tensor(500) tensor(1000) 3239 | best: tensor([0.9885, 0.5820, 0.5550]) 3240 | best: (tensor(3), tensor(0.5390)) 3241 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3242 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3243 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3244 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3245 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3246 | device='cuda:1') 3247 | tensor(1395) tensor(500) tensor(1000) 3248 | best: tensor([0.9892, 0.5600, 0.5900]) 3249 | best: (tensor(1), tensor(0.5900)) 3250 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3251 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3252 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3253 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3254 | 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 15., 20.], 3255 | device='cuda:1') 3256 | tensor(1395) tensor(500) tensor(1000) 3257 | best: tensor([0.9864, 0.5720, 0.5830]) 3258 | best: (tensor(1), tensor(0.5640)) 3259 | data: corafull, method: linkdist 3260 | time:2.677±0.964 3261 | conv:2.900±1.101 3262 | acc:56.09±1.74 3263 | BiDirection: True 3264 | nodes: 7650 3265 | features: 745 3266 | classes: 8 3267 | edges: 119081 3268 | degree: 31.13 3269 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3270 | tensor(160) tensor(500) tensor(1000) 3271 | params: 260872 3272 | best: tensor([1.0000, 0.7400, 0.7570]) 3273 | best: (tensor(14), tensor(0.7500)) 3274 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3275 | tensor(160) tensor(500) tensor(1000) 3276 | best: tensor([1.0000, 0.7700, 0.7540]) 3277 | best: (tensor(81), tensor(0.7190)) 3278 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3279 | tensor(160) tensor(500) tensor(1000) 3280 | best: tensor([1.0000, 0.7720, 0.7960]) 3281 | best: (tensor(31), tensor(0.7640)) 3282 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3283 | tensor(160) tensor(500) tensor(1000) 3284 | best: tensor([1.0000, 0.7940, 0.7560]) 3285 | best: (tensor(27), tensor(0.7550)) 3286 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3287 | tensor(160) tensor(500) tensor(1000) 3288 | best: tensor([1.0000, 0.8020, 0.8130]) 3289 | best: (tensor(29), tensor(0.8080)) 3290 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3291 | tensor(160) tensor(500) tensor(1000) 3292 | best: tensor([1.0000, 0.8240, 0.7840]) 3293 | best: (tensor(64), tensor(0.7840)) 3294 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3295 | tensor(160) tensor(500) tensor(1000) 3296 | best: tensor([1.0000, 0.7700, 0.7580]) 3297 | best: (tensor(13), tensor(0.7580)) 3298 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3299 | tensor(160) tensor(500) tensor(1000) 3300 | best: tensor([1.0000, 0.8200, 0.7740]) 3301 | best: (tensor(63), tensor(0.7740)) 3302 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3303 | tensor(160) tensor(500) tensor(1000) 3304 | best: tensor([1.0000, 0.7860, 0.7990]) 3305 | best: (tensor(36), tensor(0.7710)) 3306 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3307 | tensor(160) tensor(500) tensor(1000) 3308 | best: tensor([1.0000, 0.7420, 0.7140]) 3309 | best: (tensor(39), tensor(0.7060)) 3310 | data: amazon-photo, method: mlp 3311 | time:0.227±0.123 3312 | conv:40.700±22.554 3313 | acc:75.89±2.97 3314 | BiDirection: True 3315 | nodes: 7650 3316 | features: 745 3317 | classes: 8 3318 | edges: 119081 3319 | degree: 31.13 3320 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3321 | tensor(160) tensor(500) tensor(1000) 3322 | params: 260872 3323 | params: 260872 3324 | best: tensor([0.9625, 0.8700, 0.8770]) 3325 | best: (tensor(181), tensor(0.8590)) 3326 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3327 | tensor(160) tensor(500) tensor(1000) 3328 | best: tensor([0.9812, 0.8700, 0.8550]) 3329 | best: (tensor(126), tensor(0.8510)) 3330 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3331 | tensor(160) tensor(500) tensor(1000) 3332 | best: tensor([0.9563, 0.9140, 0.9050]) 3333 | best: (tensor(51), tensor(0.8890)) 3334 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3335 | tensor(160) tensor(500) tensor(1000) 3336 | best: tensor([0.9937, 0.9060, 0.9070]) 3337 | best: (tensor(47), tensor(0.9070)) 3338 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3339 | tensor(160) tensor(500) tensor(1000) 3340 | best: tensor([0.9625, 0.9120, 0.9050]) 3341 | best: (tensor(196), tensor(0.9050)) 3342 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3343 | tensor(160) tensor(500) tensor(1000) 3344 | best: tensor([0.9563, 0.9060, 0.8790]) 3345 | best: (tensor(127), tensor(0.8610)) 3346 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3347 | tensor(160) tensor(500) tensor(1000) 3348 | best: tensor([0.9312, 0.9020, 0.9080]) 3349 | best: (tensor(198), tensor(0.8990)) 3350 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3351 | tensor(160) tensor(500) tensor(1000) 3352 | best: tensor([0.9563, 0.9180, 0.8830]) 3353 | best: (tensor(197), tensor(0.8640)) 3354 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3355 | tensor(160) tensor(500) tensor(1000) 3356 | best: tensor([0.9500, 0.9000, 0.8880]) 3357 | best: (tensor(119), tensor(0.8850)) 3358 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3359 | tensor(160) tensor(500) tensor(1000) 3360 | best: tensor([0.9312, 0.9020, 0.8810]) 3361 | best: (tensor(126), tensor(0.8630)) 3362 | data: amazon-photo, method: gcn2mlp 3363 | time:8.409±2.098 3364 | conv:137.800±56.666 3365 | acc:87.83±2.10 3366 | BiDirection: True 3367 | nodes: 7650 3368 | features: 745 3369 | classes: 8 3370 | edges: 119081 3371 | degree: 31.13 3372 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3373 | tensor(160) tensor(500) tensor(1000) 3374 | params: 263952 3375 | best: tensor([0.9937, 0.8800, 0.8690]) 3376 | best: (tensor(5), tensor(0.8660)) 3377 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3378 | tensor(160) tensor(500) tensor(1000) 3379 | best: tensor([0.9812, 0.8380, 0.8270]) 3380 | best: (tensor(3), tensor(0.8240)) 3381 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3382 | tensor(160) tensor(500) tensor(1000) 3383 | best: tensor([0.9812, 0.8740, 0.8770]) 3384 | best: (tensor(5), tensor(0.8700)) 3385 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3386 | tensor(160) tensor(500) tensor(1000) 3387 | best: tensor([0.9875, 0.8800, 0.8610]) 3388 | best: (tensor(1), tensor(0.8610)) 3389 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3390 | tensor(160) tensor(500) tensor(1000) 3391 | best: tensor([0.9875, 0.8580, 0.8730]) 3392 | best: (tensor(0), tensor(0.8730)) 3393 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3394 | tensor(160) tensor(500) tensor(1000) 3395 | best: tensor([0.9937, 0.8560, 0.8630]) 3396 | best: (tensor(3), tensor(0.8570)) 3397 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3398 | tensor(160) tensor(500) tensor(1000) 3399 | best: tensor([0.9937, 0.8800, 0.8750]) 3400 | best: (tensor(3), tensor(0.8750)) 3401 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3402 | tensor(160) tensor(500) tensor(1000) 3403 | best: tensor([0.9937, 0.8960, 0.8560]) 3404 | best: (tensor(2), tensor(0.8490)) 3405 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3406 | tensor(160) tensor(500) tensor(1000) 3407 | best: tensor([0.9937, 0.8960, 0.8890]) 3408 | best: (tensor(5), tensor(0.8870)) 3409 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3410 | tensor(160) tensor(500) tensor(1000) 3411 | best: tensor([0.9937, 0.8840, 0.8540]) 3412 | best: (tensor(2), tensor(0.8540)) 3413 | data: amazon-photo, method: linkdist-nomp 3414 | time:4.965±2.112 3415 | conv:3.900±1.729 3416 | acc:86.16±1.73 3417 | BiDirection: True 3418 | nodes: 7650 3419 | features: 745 3420 | classes: 8 3421 | edges: 119081 3422 | degree: 31.13 3423 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3424 | tensor(160) tensor(500) tensor(1000) 3425 | params: 260872 3426 | best: tensor([0.9875, 0.8840, 0.8590]) 3427 | best: (tensor(58), tensor(0.8570)) 3428 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3429 | tensor(160) tensor(500) tensor(1000) 3430 | best: tensor([0.9937, 0.8420, 0.8390]) 3431 | best: (tensor(120), tensor(0.8350)) 3432 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3433 | tensor(160) tensor(500) tensor(1000) 3434 | best: tensor([0.9750, 0.8880, 0.8810]) 3435 | best: (tensor(128), tensor(0.8810)) 3436 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3437 | tensor(160) tensor(500) tensor(1000) 3438 | best: tensor([1.0000, 0.8980, 0.8930]) 3439 | best: (tensor(178), tensor(0.8920)) 3440 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3441 | tensor(160) tensor(500) tensor(1000) 3442 | best: tensor([0.9937, 0.9000, 0.8870]) 3443 | best: (tensor(29), tensor(0.8870)) 3444 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3445 | tensor(160) tensor(500) tensor(1000) 3446 | best: tensor([0.9750, 0.9020, 0.8740]) 3447 | best: (tensor(90), tensor(0.8700)) 3448 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3449 | tensor(160) tensor(500) tensor(1000) 3450 | best: tensor([0.9625, 0.9000, 0.8940]) 3451 | best: (tensor(139), tensor(0.8940)) 3452 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3453 | tensor(160) tensor(500) tensor(1000) 3454 | best: tensor([0.9875, 0.9200, 0.8910]) 3455 | best: (tensor(32), tensor(0.8880)) 3456 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3457 | tensor(160) tensor(500) tensor(1000) 3458 | best: tensor([0.9563, 0.8900, 0.8770]) 3459 | best: (tensor(111), tensor(0.8770)) 3460 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3461 | tensor(160) tensor(500) tensor(1000) 3462 | best: tensor([0.9750, 0.9120, 0.8950]) 3463 | best: (tensor(47), tensor(0.8820)) 3464 | data: amazon-photo, method: gcn 3465 | time:1.538±0.815 3466 | conv:94.200±50.316 3467 | acc:87.63±1.82 3468 | BiDirection: True 3469 | nodes: 7650 3470 | features: 745 3471 | classes: 8 3472 | edges: 119081 3473 | degree: 31.13 3474 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3475 | tensor(160) tensor(500) tensor(1000) 3476 | params: 263952 3477 | best: tensor([0.9937, 0.9220, 0.8980]) 3478 | best: (tensor(5), tensor(0.8960)) 3479 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3480 | tensor(160) tensor(500) tensor(1000) 3481 | best: tensor([0.9812, 0.8920, 0.8630]) 3482 | best: (tensor(1), tensor(0.8630)) 3483 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3484 | tensor(160) tensor(500) tensor(1000) 3485 | best: tensor([0.9875, 0.9160, 0.9190]) 3486 | best: (tensor(5), tensor(0.9190)) 3487 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3488 | tensor(160) tensor(500) tensor(1000) 3489 | best: tensor([0.9875, 0.8980, 0.8910]) 3490 | best: (tensor(1), tensor(0.8860)) 3491 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3492 | tensor(160) tensor(500) tensor(1000) 3493 | best: tensor([0.9875, 0.9060, 0.9090]) 3494 | best: (tensor(4), tensor(0.8990)) 3495 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3496 | tensor(160) tensor(500) tensor(1000) 3497 | best: tensor([0.9937, 0.8960, 0.8900]) 3498 | best: (tensor(4), tensor(0.8700)) 3499 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3500 | tensor(160) tensor(500) tensor(1000) 3501 | best: tensor([0.9937, 0.9260, 0.9260]) 3502 | best: (tensor(0), tensor(0.9100)) 3503 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3504 | tensor(160) tensor(500) tensor(1000) 3505 | best: tensor([0.9937, 0.9200, 0.9060]) 3506 | best: (tensor(3), tensor(0.9040)) 3507 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3508 | tensor(160) tensor(500) tensor(1000) 3509 | best: tensor([0.9937, 0.9400, 0.9280]) 3510 | best: (tensor(1), tensor(0.9210)) 3511 | tensor([20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3512 | tensor(160) tensor(500) tensor(1000) 3513 | best: tensor([0.9937, 0.9180, 0.9050]) 3514 | best: (tensor(5), tensor(0.8990)) 3515 | data: amazon-photo, method: linkdist 3516 | time:4.883±2.411 3517 | conv:3.900±1.969 3518 | acc:89.67±1.91 3519 | BiDirection: True 3520 | nodes: 13752 3521 | features: 767 3522 | classes: 10 3523 | edges: 245861 3524 | degree: 35.76 3525 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3526 | tensor(200) tensor(500) tensor(1000) 3527 | params: 267018 3528 | best: tensor([1.0000, 0.6640, 0.6600]) 3529 | best: (tensor(68), tensor(0.6600)) 3530 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3531 | tensor(200) tensor(500) tensor(1000) 3532 | best: tensor([1.0000, 0.6920, 0.6920]) 3533 | best: (tensor(37), tensor(0.6920)) 3534 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3535 | tensor(200) tensor(500) tensor(1000) 3536 | best: tensor([1.0000, 0.6500, 0.6540]) 3537 | best: (tensor(150), tensor(0.6400)) 3538 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3539 | tensor(200) tensor(500) tensor(1000) 3540 | best: tensor([1.0000, 0.6900, 0.6750]) 3541 | best: (tensor(21), tensor(0.6650)) 3542 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3543 | tensor(200) tensor(500) tensor(1000) 3544 | best: tensor([1.0000, 0.6320, 0.6410]) 3545 | best: (tensor(31), tensor(0.6280)) 3546 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3547 | tensor(200) tensor(500) tensor(1000) 3548 | best: tensor([1.0000, 0.6900, 0.6930]) 3549 | best: (tensor(42), tensor(0.6930)) 3550 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3551 | tensor(200) tensor(500) tensor(1000) 3552 | best: tensor([1.0000, 0.6780, 0.6820]) 3553 | best: (tensor(16), tensor(0.6820)) 3554 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3555 | tensor(200) tensor(500) tensor(1000) 3556 | best: tensor([1.0000, 0.6780, 0.6730]) 3557 | best: (tensor(102), tensor(0.6640)) 3558 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3559 | tensor(200) tensor(500) tensor(1000) 3560 | best: tensor([1.0000, 0.6500, 0.6650]) 3561 | best: (tensor(43), tensor(0.6650)) 3562 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3563 | tensor(200) tensor(500) tensor(1000) 3564 | best: tensor([1.0000, 0.7120, 0.6450]) 3565 | best: (tensor(32), tensor(0.6250)) 3566 | data: amazon-com, method: mlp 3567 | time:0.352±0.261 3568 | conv:55.200±41.920 3569 | acc:66.14±2.42 3570 | BiDirection: True 3571 | nodes: 13752 3572 | features: 767 3573 | classes: 10 3574 | edges: 245861 3575 | degree: 35.76 3576 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3577 | tensor(200) tensor(500) tensor(1000) 3578 | params: 267018 3579 | params: 267018 3580 | best: tensor([0.9050, 0.8040, 0.7860]) 3581 | best: (tensor(7), tensor(0.7820)) 3582 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3583 | tensor(200) tensor(500) tensor(1000) 3584 | best: tensor([0.8700, 0.7980, 0.8100]) 3585 | best: (tensor(68), tensor(0.7980)) 3586 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3587 | tensor(200) tensor(500) tensor(1000) 3588 | best: tensor([0.8300, 0.8120, 0.8280]) 3589 | best: (tensor(4), tensor(0.8220)) 3590 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3591 | tensor(200) tensor(500) tensor(1000) 3592 | best: tensor([0.9850, 0.8340, 0.8180]) 3593 | best: (tensor(3), tensor(0.8120)) 3594 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3595 | tensor(200) tensor(500) tensor(1000) 3596 | best: tensor([0.9150, 0.8240, 0.7960]) 3597 | best: (tensor(6), tensor(0.7960)) 3598 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3599 | tensor(200) tensor(500) tensor(1000) 3600 | best: tensor([0.9850, 0.8020, 0.8060]) 3601 | best: (tensor(4), tensor(0.7930)) 3602 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3603 | tensor(200) tensor(500) tensor(1000) 3604 | best: tensor([0.9550, 0.7760, 0.8000]) 3605 | best: (tensor(7), tensor(0.7770)) 3606 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3607 | tensor(200) tensor(500) tensor(1000) 3608 | best: tensor([0.8900, 0.8160, 0.8060]) 3609 | best: (tensor(1), tensor(0.7960)) 3610 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3611 | tensor(200) tensor(500) tensor(1000) 3612 | best: tensor([0.9600, 0.7980, 0.7880]) 3613 | best: (tensor(76), tensor(0.7800)) 3614 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3615 | tensor(200) tensor(500) tensor(1000) 3616 | best: tensor([0.9050, 0.8340, 0.8010]) 3617 | best: (tensor(5), tensor(0.7800)) 3618 | data: amazon-com, method: gcn2mlp 3619 | time:7.266±1.872 3620 | conv:19.100±28.529 3621 | acc:79.36±1.47 3622 | BiDirection: True 3623 | nodes: 13752 3624 | features: 767 3625 | classes: 10 3626 | edges: 245861 3627 | degree: 35.76 3628 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3629 | tensor(200) tensor(500) tensor(1000) 3630 | params: 270612 3631 | best: tensor([0.9800, 0.7860, 0.7660]) 3632 | best: (tensor(3), tensor(0.7660)) 3633 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3634 | tensor(200) tensor(500) tensor(1000) 3635 | best: tensor([0.9800, 0.7780, 0.8000]) 3636 | best: (tensor(5), tensor(0.7850)) 3637 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3638 | tensor(200) tensor(500) tensor(1000) 3639 | best: tensor([0.9950, 0.7480, 0.7750]) 3640 | best: (tensor(1), tensor(0.7750)) 3641 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3642 | tensor(200) tensor(500) tensor(1000) 3643 | best: tensor([0.9900, 0.7780, 0.7430]) 3644 | best: (tensor(5), tensor(0.7430)) 3645 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3646 | tensor(200) tensor(500) tensor(1000) 3647 | best: tensor([0.9850, 0.7740, 0.7900]) 3648 | best: (tensor(4), tensor(0.7670)) 3649 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3650 | tensor(200) tensor(500) tensor(1000) 3651 | best: tensor([0.9700, 0.7700, 0.7690]) 3652 | best: (tensor(1), tensor(0.7670)) 3653 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3654 | tensor(200) tensor(500) tensor(1000) 3655 | best: tensor([0.9750, 0.7620, 0.7820]) 3656 | best: (tensor(2), tensor(0.7820)) 3657 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3658 | tensor(200) tensor(500) tensor(1000) 3659 | best: tensor([0.9950, 0.7780, 0.7850]) 3660 | best: (tensor(4), tensor(0.7850)) 3661 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3662 | tensor(200) tensor(500) tensor(1000) 3663 | best: tensor([0.9850, 0.7420, 0.7460]) 3664 | best: (tensor(2), tensor(0.7460)) 3665 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3666 | tensor(200) tensor(500) tensor(1000) 3667 | best: tensor([0.9950, 0.7720, 0.7490]) 3668 | best: (tensor(0), tensor(0.7280)) 3669 | data: amazon-com, method: linkdist-nomp 3670 | time:11.537±5.440 3671 | conv:3.700±1.767 3672 | acc:76.44±1.95 3673 | BiDirection: True 3674 | nodes: 13752 3675 | features: 767 3676 | classes: 10 3677 | edges: 245861 3678 | degree: 35.76 3679 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3680 | tensor(200) tensor(500) tensor(1000) 3681 | params: 267018 3682 | best: tensor([0.9100, 0.7980, 0.7950]) 3683 | best: (tensor(61), tensor(0.7950)) 3684 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3685 | tensor(200) tensor(500) tensor(1000) 3686 | best: tensor([0.9750, 0.7800, 0.8200]) 3687 | best: (tensor(16), tensor(0.8190)) 3688 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3689 | tensor(200) tensor(500) tensor(1000) 3690 | best: tensor([0.9550, 0.7840, 0.8240]) 3691 | best: (tensor(101), tensor(0.8240)) 3692 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3693 | tensor(200) tensor(500) tensor(1000) 3694 | best: tensor([0.9700, 0.8320, 0.8280]) 3695 | best: (tensor(74), tensor(0.8250)) 3696 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3697 | tensor(200) tensor(500) tensor(1000) 3698 | best: tensor([0.9400, 0.8040, 0.7830]) 3699 | best: (tensor(182), tensor(0.7630)) 3700 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3701 | tensor(200) tensor(500) tensor(1000) 3702 | best: tensor([0.9800, 0.8120, 0.8050]) 3703 | best: (tensor(130), tensor(0.8050)) 3704 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3705 | tensor(200) tensor(500) tensor(1000) 3706 | best: tensor([0.9850, 0.7820, 0.7720]) 3707 | best: (tensor(147), tensor(0.7660)) 3708 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3709 | tensor(200) tensor(500) tensor(1000) 3710 | best: tensor([0.9700, 0.8140, 0.7950]) 3711 | best: (tensor(165), tensor(0.7950)) 3712 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3713 | tensor(200) tensor(500) tensor(1000) 3714 | best: tensor([0.9650, 0.8220, 0.7900]) 3715 | best: (tensor(164), tensor(0.7900)) 3716 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3717 | tensor(200) tensor(500) tensor(1000) 3718 | best: tensor([0.9700, 0.8100, 0.7790]) 3719 | best: (tensor(146), tensor(0.7790)) 3720 | data: amazon-com, method: gcn 3721 | time:3.578±1.603 3722 | conv:119.600±53.815 3723 | acc:79.61±2.25 3724 | BiDirection: True 3725 | nodes: 13752 3726 | features: 767 3727 | classes: 10 3728 | edges: 245861 3729 | degree: 35.76 3730 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3731 | tensor(200) tensor(500) tensor(1000) 3732 | params: 270612 3733 | best: tensor([0.9750, 0.8620, 0.8550]) 3734 | best: (tensor(5), tensor(0.8300)) 3735 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3736 | tensor(200) tensor(500) tensor(1000) 3737 | best: tensor([0.9800, 0.8120, 0.8370]) 3738 | best: (tensor(0), tensor(0.8330)) 3739 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3740 | tensor(200) tensor(500) tensor(1000) 3741 | best: tensor([0.9950, 0.7900, 0.8240]) 3742 | best: (tensor(0), tensor(0.8180)) 3743 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3744 | tensor(200) tensor(500) tensor(1000) 3745 | best: tensor([0.9900, 0.8200, 0.8030]) 3746 | best: (tensor(5), tensor(0.8000)) 3747 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3748 | tensor(200) tensor(500) tensor(1000) 3749 | best: tensor([0.9900, 0.8560, 0.8380]) 3750 | best: (tensor(5), tensor(0.8380)) 3751 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3752 | tensor(200) tensor(500) tensor(1000) 3753 | best: tensor([0.9750, 0.8540, 0.8260]) 3754 | best: (tensor(5), tensor(0.8260)) 3755 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3756 | tensor(200) tensor(500) tensor(1000) 3757 | best: tensor([0.9750, 0.7980, 0.8180]) 3758 | best: (tensor(1), tensor(0.8180)) 3759 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3760 | tensor(200) tensor(500) tensor(1000) 3761 | best: tensor([0.9950, 0.8300, 0.8370]) 3762 | best: (tensor(0), tensor(0.8370)) 3763 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3764 | tensor(200) tensor(500) tensor(1000) 3765 | best: tensor([0.9900, 0.8080, 0.8090]) 3766 | best: (tensor(3), tensor(0.8090)) 3767 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20.], device='cuda:1') 3768 | tensor(200) tensor(500) tensor(1000) 3769 | best: tensor([0.9900, 0.8460, 0.8270]) 3770 | best: (tensor(2), tensor(0.8270)) 3771 | data: amazon-com, method: linkdist 3772 | time:11.320±7.072 3773 | conv:3.600±2.271 3774 | acc:82.36±1.23 3775 | BiDirection: True 3776 | nodes: 18333 3777 | features: 6805 3778 | classes: 15 3779 | edges: 81894 3780 | degree: 8.93 3781 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3782 | 20.], device='cuda:1') 3783 | tensor(300) tensor(500) tensor(1000) 3784 | params: 1814031 3785 | best: tensor([1.0000, 0.9080, 0.9160]) 3786 | best: (tensor(43), tensor(0.9140)) 3787 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3788 | 20.], device='cuda:1') 3789 | tensor(300) tensor(500) tensor(1000) 3790 | best: tensor([1.0000, 0.8940, 0.9070]) 3791 | best: (tensor(11), tensor(0.8970)) 3792 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3793 | 20.], device='cuda:1') 3794 | tensor(300) tensor(500) tensor(1000) 3795 | best: tensor([1.0000, 0.9100, 0.8980]) 3796 | best: (tensor(30), tensor(0.8930)) 3797 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3798 | 20.], device='cuda:1') 3799 | tensor(300) tensor(500) tensor(1000) 3800 | best: tensor([1.0000, 0.9080, 0.9120]) 3801 | best: (tensor(6), tensor(0.8910)) 3802 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3803 | 20.], device='cuda:1') 3804 | tensor(300) tensor(500) tensor(1000) 3805 | best: tensor([1.0000, 0.9020, 0.9070]) 3806 | best: (tensor(197), tensor(0.9020)) 3807 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3808 | 20.], device='cuda:1') 3809 | tensor(300) tensor(500) tensor(1000) 3810 | best: tensor([1.0000, 0.9180, 0.8990]) 3811 | best: (tensor(171), tensor(0.8870)) 3812 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3813 | 20.], device='cuda:1') 3814 | tensor(300) tensor(500) tensor(1000) 3815 | best: tensor([1.0000, 0.9240, 0.9170]) 3816 | best: (tensor(10), tensor(0.9130)) 3817 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3818 | 20.], device='cuda:1') 3819 | tensor(300) tensor(500) tensor(1000) 3820 | best: tensor([1.0000, 0.8940, 0.9120]) 3821 | best: (tensor(75), tensor(0.9090)) 3822 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3823 | 20.], device='cuda:1') 3824 | tensor(300) tensor(500) tensor(1000) 3825 | best: tensor([1.0000, 0.9140, 0.9010]) 3826 | best: (tensor(14), tensor(0.8990)) 3827 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3828 | 20.], device='cuda:1') 3829 | tensor(300) tensor(500) tensor(1000) 3830 | best: tensor([1.0000, 0.8840, 0.9140]) 3831 | best: (tensor(10), tensor(0.9060)) 3832 | data: coauthor-cs, method: mlp 3833 | time:0.614±0.733 3834 | conv:57.700±70.575 3835 | acc:90.11±0.93 3836 | BiDirection: True 3837 | nodes: 18333 3838 | features: 6805 3839 | classes: 15 3840 | edges: 81894 3841 | degree: 8.93 3842 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3843 | 20.], device='cuda:1') 3844 | tensor(300) tensor(500) tensor(1000) 3845 | params: 1814031 3846 | params: 1814031 3847 | best: tensor([1.0000, 0.9440, 0.9350]) 3848 | best: (tensor(1), tensor(0.9330)) 3849 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3850 | 20.], device='cuda:1') 3851 | tensor(300) tensor(500) tensor(1000) 3852 | best: tensor([0.9800, 0.9420, 0.9310]) 3853 | best: (tensor(0), tensor(0.9260)) 3854 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3855 | 20.], device='cuda:1') 3856 | tensor(300) tensor(500) tensor(1000) 3857 | best: tensor([0.9533, 0.9360, 0.9280]) 3858 | best: (tensor(1), tensor(0.9280)) 3859 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3860 | 20.], device='cuda:1') 3861 | tensor(300) tensor(500) tensor(1000) 3862 | best: tensor([0.9700, 0.9360, 0.9310]) 3863 | best: (tensor(2), tensor(0.9310)) 3864 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3865 | 20.], device='cuda:1') 3866 | tensor(300) tensor(500) tensor(1000) 3867 | best: tensor([0.9867, 0.9360, 0.9390]) 3868 | best: (tensor(1), tensor(0.9390)) 3869 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3870 | 20.], device='cuda:1') 3871 | tensor(300) tensor(500) tensor(1000) 3872 | best: tensor([0.9533, 0.9300, 0.9270]) 3873 | best: (tensor(1), tensor(0.9270)) 3874 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3875 | 20.], device='cuda:1') 3876 | tensor(300) tensor(500) tensor(1000) 3877 | best: tensor([1.0000, 0.9460, 0.9290]) 3878 | best: (tensor(0), tensor(0.9290)) 3879 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3880 | 20.], device='cuda:1') 3881 | tensor(300) tensor(500) tensor(1000) 3882 | best: tensor([0.9933, 0.9360, 0.9360]) 3883 | best: (tensor(0), tensor(0.9350)) 3884 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3885 | 20.], device='cuda:1') 3886 | tensor(300) tensor(500) tensor(1000) 3887 | best: tensor([0.9933, 0.9440, 0.9340]) 3888 | best: (tensor(0), tensor(0.9340)) 3889 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3890 | 20.], device='cuda:1') 3891 | tensor(300) tensor(500) tensor(1000) 3892 | best: tensor([0.9967, 0.9200, 0.9310]) 3893 | best: (tensor(0), tensor(0.9310)) 3894 | data: coauthor-cs, method: gcn2mlp 3895 | time:13.124±0.064 3896 | conv:1.600±0.699 3897 | acc:93.13±0.40 3898 | BiDirection: True 3899 | nodes: 18333 3900 | features: 6805 3901 | classes: 15 3902 | edges: 81894 3903 | degree: 8.93 3904 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3905 | 20.], device='cuda:1') 3906 | tensor(300) tensor(500) tensor(1000) 3907 | params: 1818910 3908 | best: tensor([1.0000, 0.9360, 0.9180]) 3909 | best: (tensor(0), tensor(0.9180)) 3910 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3911 | 20.], device='cuda:1') 3912 | tensor(300) tensor(500) tensor(1000) 3913 | best: tensor([1.0000, 0.9060, 0.9080]) 3914 | best: (tensor(0), tensor(0.9080)) 3915 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3916 | 20.], device='cuda:1') 3917 | tensor(300) tensor(500) tensor(1000) 3918 | best: tensor([1.0000, 0.9220, 0.8780]) 3919 | best: (tensor(0), tensor(0.8780)) 3920 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3921 | 20.], device='cuda:1') 3922 | tensor(300) tensor(500) tensor(1000) 3923 | best: tensor([1.0000, 0.8960, 0.8990]) 3924 | best: (tensor(2), tensor(0.8740)) 3925 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3926 | 20.], device='cuda:1') 3927 | tensor(300) tensor(500) tensor(1000) 3928 | best: tensor([1.0000, 0.8640, 0.9000]) 3929 | best: (tensor(1), tensor(0.9000)) 3930 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3931 | 20.], device='cuda:1') 3932 | tensor(300) tensor(500) tensor(1000) 3933 | best: tensor([1.0000, 0.8960, 0.8960]) 3934 | best: (tensor(0), tensor(0.8920)) 3935 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3936 | 20.], device='cuda:1') 3937 | tensor(300) tensor(500) tensor(1000) 3938 | best: tensor([1.0000, 0.8920, 0.8900]) 3939 | best: (tensor(0), tensor(0.8900)) 3940 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3941 | 20.], device='cuda:1') 3942 | tensor(300) tensor(500) tensor(1000) 3943 | best: tensor([1.0000, 0.8860, 0.8990]) 3944 | best: (tensor(1), tensor(0.8830)) 3945 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3946 | 20.], device='cuda:1') 3947 | tensor(300) tensor(500) tensor(1000) 3948 | best: tensor([1.0000, 0.8820, 0.8860]) 3949 | best: (tensor(0), tensor(0.8860)) 3950 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3951 | 20.], device='cuda:1') 3952 | tensor(300) tensor(500) tensor(1000) 3953 | best: tensor([1.0000, 0.8600, 0.8910]) 3954 | best: (tensor(0), tensor(0.8910)) 3955 | data: coauthor-cs, method: linkdist-nomp 3956 | time:1.648±0.779 3957 | conv:1.400±0.699 3958 | acc:89.20±1.35 3959 | BiDirection: True 3960 | nodes: 18333 3961 | features: 6805 3962 | classes: 15 3963 | edges: 81894 3964 | degree: 8.93 3965 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3966 | 20.], device='cuda:1') 3967 | tensor(300) tensor(500) tensor(1000) 3968 | params: 1814031 3969 | best: tensor([1.0000, 0.8860, 0.9020]) 3970 | best: (tensor(29), tensor(0.9010)) 3971 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3972 | 20.], device='cuda:1') 3973 | tensor(300) tensor(500) tensor(1000) 3974 | best: tensor([1.0000, 0.8900, 0.8940]) 3975 | best: (tensor(16), tensor(0.8800)) 3976 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3977 | 20.], device='cuda:1') 3978 | tensor(300) tensor(500) tensor(1000) 3979 | best: tensor([0.9933, 0.8620, 0.8830]) 3980 | best: (tensor(12), tensor(0.8830)) 3981 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3982 | 20.], device='cuda:1') 3983 | tensor(300) tensor(500) tensor(1000) 3984 | best: tensor([0.9967, 0.8840, 0.8970]) 3985 | best: (tensor(10), tensor(0.8930)) 3986 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3987 | 20.], device='cuda:1') 3988 | tensor(300) tensor(500) tensor(1000) 3989 | best: tensor([0.9967, 0.9080, 0.8950]) 3990 | best: (tensor(16), tensor(0.8950)) 3991 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3992 | 20.], device='cuda:1') 3993 | tensor(300) tensor(500) tensor(1000) 3994 | best: tensor([1.0000, 0.8900, 0.8870]) 3995 | best: (tensor(8), tensor(0.8800)) 3996 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 3997 | 20.], device='cuda:1') 3998 | tensor(300) tensor(500) tensor(1000) 3999 | best: tensor([1.0000, 0.8760, 0.8880]) 4000 | best: (tensor(137), tensor(0.8740)) 4001 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4002 | 20.], device='cuda:1') 4003 | tensor(300) tensor(500) tensor(1000) 4004 | best: tensor([1.0000, 0.8740, 0.8800]) 4005 | best: (tensor(62), tensor(0.8640)) 4006 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4007 | 20.], device='cuda:1') 4008 | tensor(300) tensor(500) tensor(1000) 4009 | best: tensor([0.9967, 0.8980, 0.8900]) 4010 | best: (tensor(22), tensor(0.8840)) 4011 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4012 | 20.], device='cuda:1') 4013 | tensor(300) tensor(500) tensor(1000) 4014 | best: tensor([0.9967, 0.8800, 0.8750]) 4015 | best: (tensor(59), tensor(0.8670)) 4016 | data: coauthor-cs, method: gcn 4017 | time:2.487±2.611 4018 | conv:38.100±40.104 4019 | acc:88.21±1.19 4020 | BiDirection: True 4021 | nodes: 18333 4022 | features: 6805 4023 | classes: 15 4024 | edges: 81894 4025 | degree: 8.93 4026 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4027 | 20.], device='cuda:1') 4028 | tensor(300) tensor(500) tensor(1000) 4029 | params: 1818910 4030 | best: tensor([1.0000, 0.9460, 0.9280]) 4031 | best: (tensor(0), tensor(0.9280)) 4032 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4033 | 20.], device='cuda:1') 4034 | tensor(300) tensor(500) tensor(1000) 4035 | best: tensor([1.0000, 0.9280, 0.9260]) 4036 | best: (tensor(0), tensor(0.9260)) 4037 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4038 | 20.], device='cuda:1') 4039 | tensor(300) tensor(500) tensor(1000) 4040 | best: tensor([1.0000, 0.9300, 0.9060]) 4041 | best: (tensor(0), tensor(0.9060)) 4042 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4043 | 20.], device='cuda:1') 4044 | tensor(300) tensor(500) tensor(1000) 4045 | best: tensor([0.9967, 0.9140, 0.9150]) 4046 | best: (tensor(0), tensor(0.9150)) 4047 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4048 | 20.], device='cuda:1') 4049 | tensor(300) tensor(500) tensor(1000) 4050 | best: tensor([1.0000, 0.9040, 0.9240]) 4051 | best: (tensor(0), tensor(0.9100)) 4052 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4053 | 20.], device='cuda:1') 4054 | tensor(300) tensor(500) tensor(1000) 4055 | best: tensor([1.0000, 0.9100, 0.9170]) 4056 | best: (tensor(1), tensor(0.9170)) 4057 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4058 | 20.], device='cuda:1') 4059 | tensor(300) tensor(500) tensor(1000) 4060 | best: tensor([0.9967, 0.9160, 0.9200]) 4061 | best: (tensor(0), tensor(0.9200)) 4062 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4063 | 20.], device='cuda:1') 4064 | tensor(300) tensor(500) tensor(1000) 4065 | best: tensor([0.9967, 0.9080, 0.9210]) 4066 | best: (tensor(0), tensor(0.9210)) 4067 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4068 | 20.], device='cuda:1') 4069 | tensor(300) tensor(500) tensor(1000) 4070 | best: tensor([1.0000, 0.9120, 0.9060]) 4071 | best: (tensor(0), tensor(0.9060)) 4072 | tensor([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 4073 | 20.], device='cuda:1') 4074 | tensor(300) tensor(500) tensor(1000) 4075 | best: tensor([1.0000, 0.8940, 0.9150]) 4076 | best: (tensor(0), tensor(0.9150)) 4077 | data: coauthor-cs, method: linkdist 4078 | time:1.371±0.388 4079 | conv:1.100±0.316 4080 | acc:91.64±0.76 4081 | BiDirection: True 4082 | nodes: 34493 4083 | features: 8415 4084 | classes: 5 4085 | edges: 247962 4086 | degree: 14.38 4087 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4088 | tensor(100) tensor(500) tensor(1000) 4089 | params: 2223621 4090 | best: tensor([1.0000, 0.8980, 0.9070]) 4091 | best: (tensor(4), tensor(0.9020)) 4092 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4093 | tensor(100) tensor(500) tensor(1000) 4094 | best: tensor([1.0000, 0.9180, 0.9110]) 4095 | best: (tensor(9), tensor(0.9070)) 4096 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4097 | tensor(100) tensor(500) tensor(1000) 4098 | best: tensor([1.0000, 0.8900, 0.8970]) 4099 | best: (tensor(9), tensor(0.8970)) 4100 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4101 | tensor(100) tensor(500) tensor(1000) 4102 | best: tensor([1.0000, 0.8920, 0.8960]) 4103 | best: (tensor(8), tensor(0.8950)) 4104 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4105 | tensor(100) tensor(500) tensor(1000) 4106 | best: tensor([1.0000, 0.9080, 0.9060]) 4107 | best: (tensor(17), tensor(0.9040)) 4108 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4109 | tensor(100) tensor(500) tensor(1000) 4110 | best: tensor([1.0000, 0.9100, 0.9130]) 4111 | best: (tensor(14), tensor(0.9060)) 4112 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4113 | tensor(100) tensor(500) tensor(1000) 4114 | best: tensor([1.0000, 0.8840, 0.8910]) 4115 | best: (tensor(52), tensor(0.8780)) 4116 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4117 | tensor(100) tensor(500) tensor(1000) 4118 | best: tensor([1.0000, 0.9020, 0.9040]) 4119 | best: (tensor(17), tensor(0.9010)) 4120 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4121 | tensor(100) tensor(500) tensor(1000) 4122 | best: tensor([1.0000, 0.9140, 0.9040]) 4123 | best: (tensor(41), tensor(0.8880)) 4124 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4125 | tensor(100) tensor(500) tensor(1000) 4126 | best: tensor([1.0000, 0.8880, 0.8790]) 4127 | best: (tensor(23), tensor(0.8750)) 4128 | data: coauthor-phy, method: mlp 4129 | time:0.370±0.266 4130 | conv:20.400±15.515 4131 | acc:89.53±1.14 4132 | BiDirection: True 4133 | nodes: 34493 4134 | features: 8415 4135 | classes: 5 4136 | edges: 247962 4137 | degree: 14.38 4138 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4139 | tensor(100) tensor(500) tensor(1000) 4140 | params: 2223621 4141 | params: 2223621 4142 | best: tensor([1.0000, 0.9460, 0.9520]) 4143 | best: (tensor(0), tensor(0.9520)) 4144 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4145 | tensor(100) tensor(500) tensor(1000) 4146 | best: tensor([0.9900, 0.9400, 0.9390]) 4147 | best: (tensor(57), tensor(0.9360)) 4148 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4149 | tensor(100) tensor(500) tensor(1000) 4150 | best: tensor([1.0000, 0.9460, 0.9450]) 4151 | best: (tensor(16), tensor(0.9330)) 4152 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4153 | tensor(100) tensor(500) tensor(1000) 4154 | best: tensor([1.0000, 0.9420, 0.9380]) 4155 | best: (tensor(116), tensor(0.9190)) 4156 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4157 | tensor(100) tensor(500) tensor(1000) 4158 | best: tensor([0.9900, 0.9500, 0.9340]) 4159 | best: (tensor(146), tensor(0.9260)) 4160 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4161 | tensor(100) tensor(500) tensor(1000) 4162 | best: tensor([1.0000, 0.9380, 0.9300]) 4163 | best: (tensor(6), tensor(0.9260)) 4164 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4165 | tensor(100) tensor(500) tensor(1000) 4166 | best: tensor([0.9700, 0.9220, 0.9420]) 4167 | best: (tensor(0), tensor(0.9410)) 4168 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4169 | tensor(100) tensor(500) tensor(1000) 4170 | best: tensor([1.0000, 0.9540, 0.9400]) 4171 | best: (tensor(15), tensor(0.9340)) 4172 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4173 | tensor(100) tensor(500) tensor(1000) 4174 | best: tensor([1.0000, 0.9520, 0.9350]) 4175 | best: (tensor(69), tensor(0.9240)) 4176 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4177 | tensor(100) tensor(500) tensor(1000) 4178 | best: tensor([1.0000, 0.9500, 0.9380]) 4179 | best: (tensor(2), tensor(0.9290)) 4180 | data: coauthor-phy, method: gcn2mlp 4181 | time:44.310±10.459 4182 | conv:43.700±52.778 4183 | acc:93.20±0.95 4184 | BiDirection: True 4185 | nodes: 34493 4186 | features: 8415 4187 | classes: 5 4188 | edges: 247962 4189 | degree: 14.38 4190 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4191 | tensor(100) tensor(500) tensor(1000) 4192 | params: 2225930 4193 | best: tensor([1.0000, 0.9020, 0.9040]) 4194 | best: (tensor(0), tensor(0.9040)) 4195 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4196 | tensor(100) tensor(500) tensor(1000) 4197 | best: tensor([1.0000, 0.9120, 0.9110]) 4198 | best: (tensor(0), tensor(0.9110)) 4199 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4200 | tensor(100) tensor(500) tensor(1000) 4201 | best: tensor([1.0000, 0.9140, 0.9150]) 4202 | best: (tensor(0), tensor(0.9150)) 4203 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4204 | tensor(100) tensor(500) tensor(1000) 4205 | best: tensor([1.0000, 0.9000, 0.9110]) 4206 | best: (tensor(0), tensor(0.9110)) 4207 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4208 | tensor(100) tensor(500) tensor(1000) 4209 | best: tensor([1.0000, 0.9060, 0.8850]) 4210 | best: (tensor(0), tensor(0.8850)) 4211 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4212 | tensor(100) tensor(500) tensor(1000) 4213 | best: tensor([1.0000, 0.9220, 0.9080]) 4214 | best: (tensor(0), tensor(0.9080)) 4215 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4216 | tensor(100) tensor(500) tensor(1000) 4217 | best: tensor([1.0000, 0.9020, 0.9020]) 4218 | best: (tensor(0), tensor(0.9020)) 4219 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4220 | tensor(100) tensor(500) tensor(1000) 4221 | best: tensor([1.0000, 0.9040, 0.9200]) 4222 | best: (tensor(0), tensor(0.9200)) 4223 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4224 | tensor(100) tensor(500) tensor(1000) 4225 | best: tensor([1.0000, 0.9280, 0.8960]) 4226 | best: (tensor(0), tensor(0.8960)) 4227 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4228 | tensor(100) tensor(500) tensor(1000) 4229 | best: tensor([1.0000, 0.9340, 0.9160]) 4230 | best: (tensor(0), tensor(0.9160)) 4231 | data: coauthor-phy, method: linkdist-nomp 4232 | time:3.670±0.109 4233 | conv:1.000±0.000 4234 | acc:90.68±1.05 4235 | BiDirection: True 4236 | nodes: 34493 4237 | features: 8415 4238 | classes: 5 4239 | edges: 247962 4240 | degree: 14.38 4241 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4242 | tensor(100) tensor(500) tensor(1000) 4243 | params: 2223621 4244 | best: tensor([1.0000, 0.9380, 0.9490]) 4245 | best: (tensor(11), tensor(0.9480)) 4246 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4247 | tensor(100) tensor(500) tensor(1000) 4248 | best: tensor([1.0000, 0.9320, 0.9280]) 4249 | best: (tensor(7), tensor(0.9260)) 4250 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4251 | tensor(100) tensor(500) tensor(1000) 4252 | best: tensor([1.0000, 0.9280, 0.9300]) 4253 | best: (tensor(8), tensor(0.9290)) 4254 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4255 | tensor(100) tensor(500) tensor(1000) 4256 | best: tensor([1.0000, 0.9400, 0.9360]) 4257 | best: (tensor(16), tensor(0.9190)) 4258 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4259 | tensor(100) tensor(500) tensor(1000) 4260 | best: tensor([1.0000, 0.9320, 0.9330]) 4261 | best: (tensor(7), tensor(0.9300)) 4262 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4263 | tensor(100) tensor(500) tensor(1000) 4264 | best: tensor([1.0000, 0.9100, 0.9230]) 4265 | best: (tensor(14), tensor(0.9060)) 4266 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4267 | tensor(100) tensor(500) tensor(1000) 4268 | best: tensor([1.0000, 0.9020, 0.9220]) 4269 | best: (tensor(3), tensor(0.9220)) 4270 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4271 | tensor(100) tensor(500) tensor(1000) 4272 | best: tensor([1.0000, 0.9460, 0.9340]) 4273 | best: (tensor(5), tensor(0.9340)) 4274 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4275 | tensor(100) tensor(500) tensor(1000) 4276 | best: tensor([1.0000, 0.9300, 0.9350]) 4277 | best: (tensor(10), tensor(0.9220)) 4278 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4279 | tensor(100) tensor(500) tensor(1000) 4280 | best: tensor([1.0000, 0.9240, 0.9320]) 4281 | best: (tensor(6), tensor(0.9310)) 4282 | data: coauthor-phy, method: gcn 4283 | time:1.745±0.723 4284 | conv:9.700±4.057 4285 | acc:92.67±1.09 4286 | BiDirection: True 4287 | nodes: 34493 4288 | features: 8415 4289 | classes: 5 4290 | edges: 247962 4291 | degree: 14.38 4292 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4293 | tensor(100) tensor(500) tensor(1000) 4294 | params: 2225930 4295 | best: tensor([1.0000, 0.9200, 0.9370]) 4296 | best: (tensor(0), tensor(0.9370)) 4297 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4298 | tensor(100) tensor(500) tensor(1000) 4299 | best: tensor([1.0000, 0.9240, 0.9280]) 4300 | best: (tensor(0), tensor(0.9280)) 4301 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4302 | tensor(100) tensor(500) tensor(1000) 4303 | best: tensor([1.0000, 0.9280, 0.9370]) 4304 | best: (tensor(0), tensor(0.9370)) 4305 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4306 | tensor(100) tensor(500) tensor(1000) 4307 | best: tensor([1.0000, 0.9260, 0.9360]) 4308 | best: (tensor(0), tensor(0.9360)) 4309 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4310 | tensor(100) tensor(500) tensor(1000) 4311 | best: tensor([1.0000, 0.9160, 0.9050]) 4312 | best: (tensor(0), tensor(0.9050)) 4313 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4314 | tensor(100) tensor(500) tensor(1000) 4315 | best: tensor([1.0000, 0.9340, 0.9270]) 4316 | best: (tensor(0), tensor(0.9270)) 4317 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4318 | tensor(100) tensor(500) tensor(1000) 4319 | best: tensor([1.0000, 0.9000, 0.9190]) 4320 | best: (tensor(0), tensor(0.9190)) 4321 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4322 | tensor(100) tensor(500) tensor(1000) 4323 | best: tensor([1.0000, 0.9280, 0.9340]) 4324 | best: (tensor(0), tensor(0.9340)) 4325 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4326 | tensor(100) tensor(500) tensor(1000) 4327 | best: tensor([1.0000, 0.9400, 0.9260]) 4328 | best: (tensor(0), tensor(0.9260)) 4329 | tensor([20., 20., 20., 20., 20.], device='cuda:1') 4330 | tensor(100) tensor(500) tensor(1000) 4331 | best: tensor([1.0000, 0.9440, 0.9350]) 4332 | best: (tensor(0), tensor(0.9350)) 4333 | data: coauthor-phy, method: linkdist 4334 | time:3.662±0.095 4335 | conv:1.000±0.000 4336 | acc:92.84±1.01 4337 | --------------------------------------------------------------------------------