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.
If you wish to generate synthetic (expression) data, look a the code in the data.synthetic
package here.