/learning_to_execute

Learning to Execute

Primary LanguageLuaApache License 2.0Apache-2.0

Learning to Execute

This software allows to train a Recurrent Neural Network (RNN) with Long-Short Term Memory (LSTM) units on short snippets of python code. The Network is trained to predict the output of the generated programs.

Execution

Please install Torch 7 http://torch.ch/ with the cunn package. Moreover, our software requires an NVIDIA GPU.

To execute the program, call:

torch main.lua

This program starts training the LSTM, and displays intermediate results. main.lua can be executed with the following options

torch main.lua -gpuidx 1 -target_length 6 -target_nesting 3

  • gpuidx: chooses a GPU for the program
  • target_length: is a maximum number of digits in every number generated in test programs in a test dataset.
  • target_nesting: is the depth of the nesting in the generated programs in the test dataset.

Moreover, the command

torch data.lua

verifies that training data is correct, by evaluating 1000 samples with a python interpreter (python2.7 is required).

More information about the scientific work is provided at http://arxiv.org/abs/1410.4615

This software is located at https://github.com/wojciechz/learning_to_execute