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