Einige Code für Sprachmodellierung mit Keras, insbesondere für Fragen zur Beantwortung von Fragen. Ich habe einen sehr langen Blog -Beitrag geschrieben, in dem erklärt wird, wie viele davon funktioniert, was hier zu finden ist.
attention_lstm.py : Achtung LSTM, basierend auf einem der im Blog -Beitrag und anderen verwiesenen Artikel. Eine Anwendung verwendete es für die Bildunterschrift. Es wird mit einem Aufmerksamkeitsvektor initialisiert, der die Aufmerksamkeitskomponente für das neuronale Netzwerk liefert.insurance_qa_eval.py : Bewertungsrahmen für den InsuranceQA -Datensatz. Klonen Sie das Datenrepository und setzen Sie die Umgebungsvariable INSURANCE_QA auf das geklonte Repository. Das Ändern config passt die Art und Weise an, wie das Modell trainiert wird.keras-language-model.py config LanguageModel Das Modell kann geschult werden, indem ein Fragevektor, ein Grundwahrheits -Antwortvektor und ein schlechter Antwortvektor fit . Anschließend predict die Ähnlichkeit zwischen Frage und Antwort. Überschreiben Sie die build -Methode mit jedem Sprachmodell, das Sie ein trainierbares Modell erhalten möchten. Beispiele werden unten angegeben, einschließlich des EmbeddingModel , ConvolutionModel und 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.pyAlternativ schrieb ich ein Skript, um mit einer Google Cloud -Plattform -Instanz (Ubuntu 16.04) zu beginnen, die über über die Ausführung übertragen werden kann
cd ~
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling
source install.pyIch habe daran gearbeitet, diese Modelle außerhalb des Boxs verfügbar zu machen. Sie müssen den Git -Zweig von Keras installieren (und möglicherweise einige Änderungen vornehmen), um einige dieser Modelle auszuführen. Das Keras -Projekt finden Sie hier.
Das Runnable -Programm ist insurance_qa_eval.py . Dadurch wird ein models/ ein Verzeichnis erstellt, das eine Geschichte der Gewichte des Modells speichert, wie er erstellt wird. Sie müssen eine Umgebungsvariable festlegen, um zu sagen, wo sich der Datensatz für Insurance_QA befindet.
Schließlich soll mein Setup (das meiner Meinung nach ziemlich häufig ist) eine SSD mit meinem Betriebssystem und eine Festplatte mit größeren Datendateien. Ich würde daher empfehlen, ein models/ Symlink aus dem Projektverzeichnis an einen Ort in Ihrer Festplatte zu erstellen, wenn Sie ein ähnliches Setup haben.
Ich habe ein Befehlszeilenargument hinzugefügt, das Flask verwendet, um einem Port zu dienen. Sobald Sie den Kolben installiert haben, können Sie ausführen:
python insurance_qa_eval.py serveDies ist in Kombination mit NGROK nützlich für die Überwachung des Trainingsfortschritts von Ihrem Desktop.