递归神经网络(RNN)被广泛用于建模顺序数据,例如自然语言句子。 本示例介绍如何使用SINGA的RNN层实现RNN应用程序(或模型)。 我们将使用char-rnn模型作为示例,它将训练语句或源代码,并将每个字符作为输入单位。 特别是,我们将使用GRU在Linux内核源代码上训练一个RNN。 经过训练,我们希望从模型中生成有意义的代码。
编译并安装SINGA。目前,RNN的实现是基于CuDNN(>=5.05)。.
准备数据集。下载内核源代码。其他文本数据也可被使用。
开始训练,
python train.py linux_input.txt
一些超参数可以在命令行参数中设置,
python train.py -h
通过提供要采样的字符数和种子字符串来从模型中采样字符。
python sample.py 'model.bin' 100 --seed '#include <std'
请用其中一个checkpoint路径替换‘model.bin’的路径。