Skip to content
Code related to "Learning Continuous Semantic Representations of Symbolic Expressions" project.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea Clean up for making public Dec 7, 2016
data Clean up for making public Dec 7, 2016
deeplearning Clean up for making public Dec 7, 2016
encoders Clean up for making public Dec 7, 2016
.gitignore Clean up for making public Dec 7, 2016
LICENSE Added missing license. Dec 8, 2016
README.md Update README.md Dec 8, 2016

README.md

Learning Continuous Semantic Representations of Symbolic Expressions

This is the code relating to the paper link. More information, visualization and data related to this work can be found at the project website.

@article{allamanis2016learning,
         title={Learning Continuous Semantic Representations of Symbolic Expressions},
         author={Allamanis, Miltiadis and Chanthirasegaran, Pankajan and Kohli, Pushmeet and Sutton, Charles},
         journal={arXiv preprint arXiv:1611.01423},
         year={2016}
}

The code is written in Python 3.5 using Theano.

To train an eqnet run

python encoders/rnn/trainsupervised.py <trainingFileName> <validationFileName>

a .pkl file will be produced containing the trained network. Data files (in .json.gz format) can be found here.

To test any network implementing the AbstractEncoder interface, use the following command.

python encoders/evaluation/knnstats.py <encoderPkl> <evaluationFilename> <allFilename>

Note that for running all Python code, you need to add all the repository packages to the PYTHONPATH environment variable.

Generating Synthetic Data

If you wish to generate synthetic (expression) data, look a the code in the data.synthetic package here.

You can’t perform that action at this time.