attention is all you need pytorch
1.0.0
這是“您需要的注意力”中變壓器模型的Pytorch實現(Ashish Vaswani,Noam Shazeer,Niki Parmar,Jakob Uszkoreit,Llion Jones,Llion Jones,Aidan N. Gomez,Lukasz Kaiser,Lukasz Kaiser,Illia Polosukhin,Arxiv,Arxiv,2017年)。
序列框架的新序列利用自我發項機制,而不是卷積操作或經常性結構,並實現WMT 2014英語對德語翻譯任務的最新性能。 (2017/06/12)
官方的TensorFlow實現可在以下方面找到:TensorFlow/Tensor2Tensor。
要了解有關自我發揮機制的更多信息,您可以閱讀“嵌入結構化的自我指導句子”。
現在,通過訓練有素的模型支持培訓和翻譯。
請注意,該項目仍在進行中。
與BPE相關的零件尚未完全測試。
如果有任何建議或錯誤,請隨時解僱一個問題,讓我知道。 :)
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.txt由於接口不是統一的,因此您需要將主函數調用從
main_wo_bpe切換到main。
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