當前位置:
首頁 > 知識 > Github 項目推薦 用PyTorch 實現 OpenNMT

Github 項目推薦 用PyTorch 實現 OpenNMT

這是一個用 PyTorch 實現的 OpenNMT 的庫,OpenNMT 是一個神經機器翻譯系統。

Github:

https://github.com/mattiadg/SR-NMT

快速開始

一些有用的工具:

下面的例子使用了 Moss tokenizer (http://www.statmt.org/moses/) 來準備用於評估的數據和 moses BLEU 腳本。

wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/tokenizer/tokenizer.perl

wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/share/nonbreaking_prefixes/nonbreaking_prefix.de

wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/share/nonbreaking_prefixes/nonbreaking_prefix.en

sed -i"s/$RealBin/../share/nonbreaking_prefixes//"tokenizer.perl

wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/generic/multi-bleu.perl

WMT"16 多模式翻譯:Multi30k(de-en)

WMT"16多模式翻譯任務訓練示例(http://www.statmt.org/wmt16/multimodal-task.html)。

0)下載數據:

mkdir-p data/multi30k

wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/training.tar.gz && tar -xf training.tar.gz -C data/multi30k && rm training.tar.gz

wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/validation.tar.gz && tar -xf validation.tar.gz -C data/multi30k && rm validation.tar.gz

wget https://staff.fnwi.uva.nl/d.elliott/wmt16/mmt16_task1_test.tgz && tar -xf mmt16_task1_test.tgz -C data/multi30k && rm mmt16_task1_test.tgz

1) Preprocess the data.

1)預處理數據:

forlinen de;doforfindata/multi30k/*.$l;doif[["$f"!= *"test"* ]];thensed -i"$ d"$f;fi;done;done

forlinen de;doforfindata/multi30k/*.$l;doperl tokenizer.perl -a -no-escape -l$l-q $f.atok;done;done

python preprocess.py -train_src data/multi30k/train.en.atok -train_tgt data/multi30k/train.de.atok -valid_src data/multi30k/val.en.atok -valid_tgt data/multi30k/val.de.atok -save_data data/multi30k.atok.low -lower

2)訓練模型:

3)翻譯語句:

pythontranslate.py-gpu-model multi30k_model_e13_*.pt-src data/multi30k/test.en.atok -tgt data/multi30k/test.de.atok -replace_unk -verbose-output multi30k.test.pred.atok

4)評估:

perlmulti-bleu.perldata/multi30k/test.de.atok

預訓練模型:

以下預訓練模型可以下載並與 translate.py 一起使用(這些訓練有較舊版本的代碼;它們將很快更新)。

onmt_model_en_de_200k:基於 OpenNMT / IntegrationTesting 中 200k 句子數據集的英德翻譯模型。 Perplexity:21。

onmt_model_en_fr_b1M:一個英語 - 法語模型,以基準 -1M 為基礎進行培訓。 Perplexity:4.85。

從Python入門-如何成為AI工程師

BAT資深演算法工程師獨家研發課程

最貼近生活與工作的好玩實操項目

班級管理助學搭配專業的助教答疑

學以致用拿offer,學完即推薦就業

新人福利

關注 AI 研習社(okweiwu),回復1領取

【超過 1000G 神經網路 / AI / 大數據資料】

一文詳解如何用 R 語言繪製熱圖

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

20 道面試題助你拿下微軟 AI offer
看阿里 AliOS 神燈團隊在推薦系統上的獨門秘籍

TAG:AI研習社 |