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結合使用,可用於監視培訓的進度遠離桌面。