这是一个微型的语言模型,由PyTorch实现,并由LSTM进行建模,并可以自定义模型深度。
训练可直接运行train.py文件,同时项目也提供了一些参数可供选择,示例代码如下所示:
python train.py --n_step 5 \
--hidden_size 128 \
--batch_size 128 \
--learning_rate 0.0005 \
--epochs 5 \
--embed_size 256 \
--epochs_save 5 \
--data_dir data/dataset \
--num_layers 1 \
--ckpt_dir model/ckpt
项目将实现的LSTM模型与PyTorch库时间的模型输出进行比较,可以通过在命令行中输入以下命令运行并比较结果,如果想修改初始的参数或者输入维度,可以直接修改代码文件。
python model/lstm.py
项目对比了实现的LSTM语言模型的运行结果,具体如下所示,也可以在plot_result.ipynb文件中查看,所有的结果均由手动记录,项目并不提供保存结果的代码。
报告文件在report目录中