keras language modeling
1.0.0
特に質問をするタスクのために、Kerasで言語モデリングを行うためのいくつかのコード。私は、これの多くがどのように機能するかを説明する非常に長いブログ投稿を書きました。これはここで見つけることができます。
attention_lstm.py :ブログ投稿などで参照されている論文の1つに基づいて、注意LSTM。 1つのアプリケーションが画像キャプションに使用しました。ニューラルネットワークの注意コンポーネントを提供する注意ベクトルで初期化されます。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を持つことです。したがって、同様のセットアップがある場合は、プロジェクトディレクトリからHDDのどこかにmodels/ Symlinkを作成することをお勧めします。
フラスコを使用してポートに提供するコマンドライン引数を追加しました。フラスコをインストールしたら、実行できます。
python insurance_qa_eval.py serveこれは、デスクトップからのトレーニングの進捗状況を監視するために、Ngrokと組み合わせて役立ちます。