Recurrent neural networks (RNN) are widely used for modelling sequential data, e.g., natural language sentences. This example describes how to implement a RNN application (or model) using SINGA's RNN layers. We will use the char-rnn model as an example, which trains over sentences or source code, with each character as an input unit. Particularly, we will train a RNN using GRU over Linux kernel source code. After training, we expect to generate meaningful code from the model.
Compile and install SINGA. Currently the RNN implementation depends on Cudnn with version >= 5.05.
Prepare the dataset. Download the kernel source code. Other plain text files can also be used.
Start the training,
python train.py linux_input.txt
Some hyper-parameters could be set through command line,
python train.py -h
Sample characters from the model by providing the number of characters to sample and the seed string.
python sample.py 'model.bin' 100 --seed '#include <std'
Please replace ‘model.bin’ with the path to one of the checkpoint paths.