Beberapa kode untuk melakukan pemodelan bahasa dengan Keras, khususnya untuk tugas-tugas yang dianamkan. Saya menulis posting blog yang sangat panjang yang menjelaskan cara kerja banyak ini, yang dapat ditemukan di sini.
attention_lstm.py : LSTM perhatian, berdasarkan salah satu makalah yang dirujuk dalam posting blog dan lainnya. Satu aplikasi menggunakannya untuk captioning gambar. Ini diinisialisasi dengan vektor perhatian yang menyediakan komponen perhatian untuk jaringan saraf.insurance_qa_eval.py : Kerangka evaluasi untuk dataset asuransi. Agar ini berfungsi, klon repositori data dan atur variabel lingkungan INSURANCE_QA ke repositori yang dikloning. Mengubah config akan menyesuaikan cara model dilatih.keras-language-model.py : Kelas LanguageModel menggunakan pengaturan config untuk menghasilkan model pelatihan dan model pengujian. Model dapat dilatih dengan melewati vektor pertanyaan, vektor jawaban kebenaran tanah, dan vektor jawaban yang buruk agar fit . Kemudian predict menghitung kesamaan antara pertanyaan dan jawaban. Menggantikan metode build dengan model bahasa apa pun yang Anda inginkan untuk mendapatkan model yang dapat dilatih. Contoh disediakan di bagian bawah, termasuk EmbeddingModel , ConvolutionModel , dan 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.pyAtau, saya menulis skrip untuk memulai pada instance Google Cloud Platform (Ubuntu 16.04) yang dapat dijalankan melalui
cd ~
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling
source install.pySaya telah bekerja untuk membuat model ini tersedia di luar kotak. Anda perlu menginstal cabang git keras (dan mungkin membuat beberapa modifikasi) untuk menjalankan beberapa model ini; Proyek Keras dapat ditemukan di sini.
Program runnable adalah insurance_qa_eval.py . Ini akan membuat models/ direktori yang akan menyimpan sejarah bobot model saat dibuat. Anda perlu mengatur variabel lingkungan untuk memberi tahu di mana dataset asuransi_qa berada.
Akhirnya, pengaturan saya (yang menurut saya cukup umum) adalah memiliki SSD dengan sistem operasi saya, dan HDD dengan file data yang lebih besar. Jadi saya akan merekomendasikan membuat models/ symlink dari direktori proyek ke suatu tempat di HDD Anda, jika Anda memiliki pengaturan yang sama.
Saya menambahkan argumen baris perintah yang menggunakan Flask untuk melayani ke port. Setelah menginstal Flask, Anda dapat menjalankan:
python insurance_qa_eval.py serveIni berguna dalam kombinasi dengan Ngrok untuk memantau kemajuan pelatihan dari desktop Anda.