Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't reproduce the results of table2 when layer is 64. #5

Open
yanghu819 opened this issue Mar 9, 2022 · 4 comments
Open

Can't reproduce the results of table2 when layer is 64. #5

yanghu819 opened this issue Mar 9, 2022 · 4 comments

Comments

@yanghu819
Copy link

code:
python main.py with data.dataset=cora arch.layer_type=gcn_res arch.block_type=n_a_r arch.num_layers=64 arch.dropout.p=0.8 optim.l1_weight=0.001 optim.weight_decay=0.001

100%|██████████| 400/400 [04:29<00:00,  1.48it/s]

INFO - train - split_seed: 000
INFO - train - Test set results on the last model:
INFO - train - loss= 2.8534 accuracy= 0.7090
INFO - train - Test set results on the best model:
INFO - train - loss= 1.1400 accuracy= 0.8090
INFO - train -

tensor(140)
100%|██████████| 400/400 [04:03<00:00, 1.64it/s]
INFO - train - split_seed: 001
INFO - train - Test set results on the last model:
INFO - train - loss= 1.5722 accuracy= 0.7790
INFO - train - Test set results on the best model:
INFO - train - loss= 0.6338 accuracy= 0.8180
INFO - train -

tensor(140)
100%|██████████| 400/400 [03:49<00:00, 1.75it/s]
INFO - train - split_seed: 002
INFO - train - Test set results on the last model:
INFO - train - loss= 1.4593 accuracy= 0.7880
INFO - train - Test set results on the best model:
INFO - train - loss= 0.9354 accuracy= 0.8200
INFO - train -

tensor(140)
100%|██████████| 400/400 [03:23<00:00, 1.96it/s]
INFO - train - split_seed: 003
INFO - train - Test set results on the last model:
INFO - train - loss= 1.6404 accuracy= 0.7640
INFO - train - Test set results on the best model:
INFO - train - loss= 0.9445 accuracy= 0.7890
INFO - train -

@miafei
Copy link
Owner

miafei commented Mar 13, 2022

You can find the hyperparamters in Tab.23 of https://arxiv.org/pdf/2006.07107v2.pdf.
Also, you may use arch.norm to specify different variants of NodeNorm. For example, arch.norm=node_v is for NodeNorm_1.

Thanks for your interest in this work and sorry for the inconvenience. I will clean up this repo to facilitate easier reproduction later.

@yanghu819
Copy link
Author

I run with code refered to Tab.23
image
:
python main.py with data.dataset=cora arch.layer_type=gcn_res arch.block_type=n_a_r arch.num_layers=64 arch.dropout.p=0.7 optim.l1_weight=0.008 optim.weight_decay=0.0005
results:
INFO - train - ********************* STATISTICS *********************INFO - train -
Best test acc: [0.793, 0.829, 0.805, 0.768, 0.819, 0.8, 0.801, 0.804, 0.792, 0.803, 0.781, 0.8, 0.805, 0.772, 0.789, 0.785, 0.778, 0.798, 0.786, 0.812, 0.811, 0.795, 0.793, 0.817, 0.803, 0.788, 0.794, 0.808, 0.792, 0.794, 0.779, 0.807, 0.791, 0.788, 0.816, 0.789, 0.796, 0.806, 0.801, 0.792, 0.784, 0.748, 0.789, 0.761, 0.775, 0.81, 0.807, 0.811, 0.821, 0.792]Mean: 0.7955600000000002 Std: 0.015359895832980112Last test acc: [0.721, 0.767, 0.797, 0.655, 0.697, 0.771, 0.801, 0.786, 0.73, 0.686, 0.7, 0.715, 0.777, 0.706, 0.751, 0.734, 0.731, 0.762, 0.667, 0.757, 0.695, 0.684, 0.626, 0.799, 0.766, 0.738, 0.745, 0.757, 0.752, 0.69, 0.766, 0.796, 0.74, 0.562, 0.732, 0.692, 0.773, 0.77, 0.694, 0.722, 0.735, 0.707, 0.641, 0.707, 0.757, 0.759, 0.76, 0.791, 0.648, 0.628]
Mean: 0.7268600000000001 Std: 0.05097372264216143
INFO - train - best epoch: [260, 317, 126, 368, 124, 362, 399, 178, 121, 355, 215, 108, 368, 150, 329, 305, 252, 193, 272, 182, 109, 259, 327, 368, 226, 347, 398, 185, 335, 151, 388, 329, 223, 161, 305, 170, 310, 329, 286, 102, 313, 289, 202, 223, 364, 162, 346, 387, 197, 169]
INFO - GCN - Completed after 4:40:05

the test accuracy is low as 0.7268

@miafei
Copy link
Owner

miafei commented Mar 15, 2022

from your log:
best epoch accuracy is 0.7955
last epoch accuracy is 0.7268

Note that we use validation set to select the best epoch.

Also note that your results are the average of 50 random splits. However, Tab.2 reports the accuracy on a specific widely used split following the original GCN paper. Please add in data.random_split.use=False and arch.norm=node_v

@yanghu819
Copy link
Author

I added in data.random_split.use=False and arch.norm=node_v
code:
python main.py with data.dataset=cora arch.layer_type=gcn_res arch.block_type=n_a_r arch.num_layers=64 arch.dropout.p=0.7 optim.l1_weight=0.008 optim.weight_decay=0.0005 data.random_split.use=False arch.norm=node_v

the result is:

INFO - train - ********************* STATISTICS *********************
INFO - train -
Best test acc: [0.811]
Mean: 0.811 Std: 0.0
Last test acc: [0.815]
Mean: 0.815 Std: 0.0

INFO - train - best epoch: [202]
INFO - GCN - Completed after 0:02:51

The results is still not compatible with table2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants