Ceci est une implémentation Pytorch du modèle Transformer dans "l'attention est tout ce dont vous avez besoin" (Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Arxiv, 2017).
Une nouvelle séquence de séquence Framework utilise le mécanisme d'auto-attention , au lieu d'un opération de convolution ou d'une structure récurrente, et d'atteindre les performances de pointe sur la tâche de traduction de l'anglais à l'anglais à l'anglais 2014 . (2017/06/12)
L'implémentation officielle de TensorFlow peut être trouvée dans: Tensorflow / Tensor2tensor.
Pour en savoir plus sur le mécanisme d'auto-agencement, vous pouvez lire "une phrase d'auto-attente structurée".
La formation et la traduction de soutien du projet avec un modèle formé maintenant.
Notez que ce projet est toujours un travail en cours.
Les pièces liées au BPE ne sont pas encore entièrement testées.
S'il y a une suggestion ou une erreur, n'hésitez pas à tirer un problème pour me le faire savoir. :)
Un exemple de formation pour la tâche de traduction multimodale 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Étant donné que les interfaces ne sont pas unifiées, vous devez passer l'appel de fonction principal de
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