• Stars
    star
    171
  • Rank 222,266 (Top 5 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Source code for the paper "Hyperbolic Neural Networks", https://arxiv.org/abs/1805.09112

Hyperbolic Neural Networks

Python source code

We recommend reading our blog for an introduction to hyperbolic neural networks. Other related material can be accessed here.

  1. Prerequisites:
python3.5, Tensorflow 1.8, numpy, pickle, logging
  1. Generate the 3d MLR figure from our paper.
python3.5 viz_mlr.py
  1. Run the code to reproduce results from Table 1. Example of command that runs hyperbolic GRUs + one hyperbolic fully connected layer + hyperbolic MLR to embed each pair of sentences from the PREFIX10 dataset (assuming the location of this dataset is in the same directory as the source code):
CUDA_VISIBLE_DEVICES='' python3.5 hyp_rnn.py --base_name='' --dataset='PRFX10' --inputs_geom='hyp' --word_dim=5 --word_init_avg_norm=0.001   --cell_type='gru' --cell_non_lin='id'  --sent_geom='hyp' --bias_geom='hyp' --ffnn_geom='hyp' --ffnn_non_lin='id' --additional_features='dsq'  --dropout=1.0 --before_mlr_dim=5 --mlr_geom='hyp'  --reg_beta=0.0  --hyp_opt='rsgd' --lr_ffnn=0.01 --lr_words=0.1 --burnin='n' --proj_eps=1e-5 --batch_size=64 --root_path=./

The data needed in this code lives in the *_dataset folders and was generated as follows:

  • SNLI data was put in a binary format using the file binarize_snli_dataset.py and the original SNLI dataset

  • the PREFIX dataset was generated using the file prefix_dataset.py

References

If you find this code useful for your research, please cite the following paper in your publication:

@inproceedings{ganea2018hyperbolic,
  title={Hyperbolic neural networks},
  author={Ganea, Octavian and B{\'e}cigneul, Gary and Hofmann, Thomas},
  booktitle={Advances in neural information processing systems},
  pages={5345--5355},
  year={2018}
}