Ini adalah implementasi Pytorch dari model transformator dalam "perhatian adalah yang Anda butuhkan" (Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Arxiv, 2017).
Urutan baru untuk kerangka urutan memanfaatkan mekanisme perhatian diri , alih-alih operasi konvolusi atau struktur berulang, dan mencapai kinerja canggih pada tugas terjemahan Bahasa Inggris-ke-Jerman 2014 . (2017/06/12)
Implementasi TensorFlow resmi dapat ditemukan di: TensorFlow/Tensor2Tensor.
Untuk mempelajari lebih lanjut tentang mekanisme perhatian diri, Anda bisa membaca "penyematan kalimat diri yang terstruktur".
Pelatihan Dukungan Proyek dan Terjemahan dengan model terlatih sekarang.
Perhatikan bahwa proyek ini masih dalam proses.
Bagian terkait BPE belum sepenuhnya diuji.
Jika ada saran atau kesalahan, jangan ragu untuk memecat masalah untuk memberi tahu saya. :)
Contoh pelatihan untuk tugas terjemahan multimodal WMT'16 (http://www.statmt.org/wmt16/multimodal-task.html).
# conda install -c conda-forge spacy
python -m spacy download en
python -m spacy download depython preprocess.py -lang_src de -lang_trg en -share_vocab -save_data m30k_deen_shr.pklpython train.py -data_pkl m30k_deen_shr.pkl -log m30k_deen_shr -embs_share_weight -proj_share_weight -label_smoothing -output_dir output -b 256 -warmup 128000 -epoch 400python translate.py -data_pkl m30k_deen_shr.pkl -model trained.chkpt -output prediction.txtKarena antarmuka tidak disatukan, Anda perlu mengganti panggilan fungsi utama dari
main_wo_bpekemain.
python preprocess.py -raw_dir /tmp/raw_deen -data_dir ./bpe_deen -save_data bpe_vocab.pkl -codes codes.txt -prefix deenpython train.py -data_pkl ./bpe_deen/bpe_vocab.pkl -train_path ./bpe_deen/deen-train -val_path ./bpe_deen/deen-val -log deen_bpe -embs_share_weight -proj_share_weight -label_smoothing -output_dir output -b 256 -warmup 128000 -epoch 400