All Projects → mast-group → eqnet

mast-group / eqnet

Licence: BSD-3-Clause License
Code related to "Learning Continuous Semantic Representations of Symbolic Expressions" project.

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to eqnet

mathiu.cpp
mathiu : a simple computer algebra system in C++.
Stars: ✭ 58 (+70.59%)
Mutual labels:  symbolic-expressions

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].