hyrnn icon indicating copy to clipboard operation
hyrnn copied to clipboard

Can't reproduce reported results

Open ruoshiliu opened this issue 4 years ago • 8 comments

Hi, I ran the exact argument you provided in the README.md file python run.py --data_dir=./data --num_epochs=30 --log_dir=./logs --batch_size=1024 --num_layers=2 --cell_type=hyp_gru which yields a loss of 0.678 and precision of ~56% I also ran python run.py --data_dir=./data --num_epochs=30 --log_dir=./hyp_gru_hyp_decision --batch_size=1024 --num_layers=2 --cell_type=hyp_gru --decision_type hyp which yields a loss of 0.693 and precision of ~50% Do you know any potential reason for that?

ruoshiliu avatar Jul 28 '20 13:07 ruoshiliu

hmm, that is strange. We had updates in Geoopt and implementation of Poincare model is different now, this might affect the results. Did you check the old version of geoopt (before Stereographic is merged)?

ferrine avatar Jul 28 '20 17:07 ferrine

Yes, I installed version 0.1.2 of geeopt which is before the Stereographic update.

ruoshiliu avatar Jul 28 '20 17:07 ruoshiliu

That's a problem smth really seems to be broken. How does the training curve look like?

ferrine avatar Jul 28 '20 18:07 ferrine

Please check the following tensorboard results, with orange being train curves and blue being valid curves. I obtained the following results with python run.py --data_dir=./data --num_epochs=30 --log_dir=./logs --batch_size=1024 --num_layers=2 --cell_type=hyp_gru Screen Shot 2020-07-28 at 13 45 30 Screen Shot 2020-07-28 at 13 45 39 Screen Shot 2020-07-28 at 13 46 01

ruoshiliu avatar Jul 28 '20 18:07 ruoshiliu

It occurs also in the new version. But I found that if decode using method in another paper named Hyperbolic GCN, the precision will arise a lot, but still can't get the result in original paper

SkyFishMoon avatar Aug 29 '20 12:08 SkyFishMoon

From the curves I can't say the model has converged, did you try training more?

ferrine avatar Aug 30 '20 05:08 ferrine

Other suggestion is to increase learning rate a bit.

ferrine avatar Aug 30 '20 05:08 ferrine

This is the validation image and train result image a little rise in precision, but I didn't use the dist2plane as the last layer. I just use a linear + logmap0 + logsoftmax + nllloss as the last layer. Another problem is I find that some parameters in your model are general torch.Parameter rather than geoopt.ManifoldParameter. Only the bias parameters are geoopt.ManifoldParameter. Does this matter?

SkyFishMoon avatar Aug 30 '20 06:08 SkyFishMoon