keras language modeling
1.0.0
一些用于与Keras进行语言建模的代码,特别是用于提问任务的代码。我写了一篇很长的博客文章,其中解释了其中的许多作用,可以在这里找到。
attention_lstm.py :根据博客文章和其他文章中引用的论文之一,注意力LSTM。一个应用程序用于图像字幕。它是用注意向量初始化的,该向量为神经网络提供了注意力组成部分。insurance_qa_eval.py数据集的评估框架。要使此工作,请克隆数据存储库,并将INSURANCE_QA环境变量设置为克隆的存储库。更改config将调整模型的训练方式。keras-language-model.py LanguageModel使用config设置生成训练模型和测试模型。可以通过传递问题向量,地面真相答案向量以及fit不良答案向量来训练该模型。然后predict计算问题和答案之间的相似性。使用您想要获得可训练模型的任何语言模型来覆盖build方法。示例在底部提供,包括EmbeddingModel , ConvolutionModel和RecurrentModel 。 # Install Keras (may also need dependencies)
git clone https://github.com/fchollet/keras
cd keras
sudo python setup.py install
# Clone InsuranceQA dataset
git clone https://github.com/codekansas/insurance_qa_python
export INSURANCE_QA= $( pwd ) /insurance_qa_python
# Run insurance_qa_eval.py
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling/
python insurance_qa_eval.py另外,我写了一个脚本以开始在Google Cloud Platform实例(Ubuntu 16.04)上开始
cd ~
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling
source install.py我一直在努力使这些型号开箱即用。您需要安装Keras的Git分支(也许进行一些修改),以便运行其中一些模型; Keras项目可以在这里找到。
可运行的程序是insurance_qa_eval.py 。这将创建一个models/目录,该模型/目录将存储模型创建的历史记录。您需要设置一个环境变量来告诉它Insurance_QA数据集在哪里。
最后,我的设置(我认为很常见)是在操作系统中拥有一个SSD,以及一个带有较大数据文件的HDD。因此,如果您有类似的设置,我建议您从项目目录创建models/符号链接到HDD中的某个地方。
我添加了一个命令行参数,该参数使用烧瓶用于端口。安装烧瓶后,您可以运行:
python insurance_qa_eval.py serve这对于与Ngrok结合使用,可用于监视培训的进度远离桌面。