跳到内容

亚瑟xlw/cytonMt

文件夹和文件

姓名姓名
上次提交消息
上次提交日期

最新提交

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

存储库文件导航

细胞nMt

CytonMT:一个用C语言实现的高效神经机器翻译开源工具包++

王晓林(xiaolin.wang@nict.go.jp,arthur.xlw@gmail.com)

================================================

开始使用工具箱

(请注意,您可以运行runMe.sh的脚本)

  1. 编写工具包;

要求:cuda,cudnn(>=7.0)

品牌-j8;

  1. 培养模型;

cd数据

../bin/cytonMt--模式列车--第5个时段--列车。sn:train.tn--vocab vocab--dev dev.sn:dev.tn--嵌入大小64--隐藏大小128--numLayers 1--保存模型模型

  1. 翻译几个句子。

../bin/cytonMt--模式转换--加载模型模型/model--测试输入测试.sn--测试输出测试.trans

(请注意,对于此示例,输出将是垃圾邮件)

================================================

更多示例:

  1. 为了复制我们在WMT 2014英语到德语上的实验(请通过运行tensor2sensor工具箱中的“datagen--problems=translate_ende_WMT_bpe32k”命令获取必要的文件(https://github.com/tensorflow/tensor2传感器)

../bin/cytonMT--模式训练--probeFreq 12--耐心12--训练训练.tok.clean.bpe.32000.en:train.tok.clean.bpe.32000.de--vocab vocabFile--dev newstest2013.tok.bpe.320 00.en:newstest2013.tok.bbe.32000.de--保存模型

../bin/cytonMt--模式转换--maxSeqLen 300--加载模型模型/模型--testInput newstest2014.tok.bpe.32000.en--testOutput转换

  1. 为了复制我们在WMT 2017英语到德语上的实验(请从中运行脚本获取必要的文件https://github.com/marian-nmt/marian-examples/tree/master/wmt2017-uedin)

../bin/cytonMT--模式训练--probeFreq 36--耐心12--训练语料库.bpe.en:语料库.bpe.de:1.0:新闻.2016.bpe.en:news.2016.bpe.de:0.5--vocab vocabFile--dev valid.bpe.en:valid.bbe.de--saveModel模型

../bin/cytonMt--mode translate--maxSeqLen 300--loadModel model/model--testInput test2017.bpe.en--testOutput trans

  1. 以类似OpenNMT的快速方式训练模型

../bin/cytonMt--模式序列--epochs 13--demotion Start 10--demote Conti 1--train train.sn:train.tn--vocab train.sn.vocab--dev dev.sn:dev.tn--saveModel模型

================================================

如果您正在使用我们的工具包,请引用我们的论文:

@第{wang2018cytonmt条,title={CytonMT:一个在C++中实现的高效神经机器翻译开源工具包,author={Wang、Xiaolin和Utiyama、Masao和Sumita、Eiichiro},日志={arXiv-print arXiv:1802.07170},年份={2018年}}

================================================

CytonMT的参数

bin/cytonMt--帮助

版本:2018-0528

--帮助()

--模式训练/转换()

--存储模型()

--loadModel用于继续训练或翻译的负载模型()

--maxSaveModels保存的最大模型数(10)

--训练源端和目标端训练文件,每行一句。trainSrc:trainTrg[:重量:trainSlc2:trainScc2:weight2](trainSrch:trainTransg)

--开发源端和目标端开发文件,每行一句话(devSrc:devTrg)

--用于翻译的testInput输入文件(testInput)

--用于翻译的testOutput输出文件(testOutput)

--vocab源端和目标端词汇文件,每行一个单词(vocabSrc:vocabTrg)

--srcTrgShareEmbed在源端和目标端之间共享嵌入权重(1)

--srcVocabSize源端词汇表的大小,0表示在vocabSrc文件中使用整个词汇表(0)

--trgVocabSize源端词汇表的大小,0表示在vocabTrg文件中使用整个词汇表(0)

--ignoreUnk 0/1,1表示忽略未知单词(1)

--initParam在(-initParam,initParam)(0.1)中统一初始化权重

--优化SGD/Adam(SGD)

--学习率学习率(1)

--衰减速率学习速率的衰减因子(0.7)

--decade开始学习速率从decade纪元开始衰减start(1000)

--decampeConti 0/1,1表示每次检查的学习速率都会在每次检查衰减时保持衰减,OpenNMT的模式,(0)

--衰减状态0/1,1表示学习速率处于衰减状态,有助于继续训练。(0)

--epochs最大训练次数(100)

--epoch开始第一个历元的编号,用于继续训练(1)

--batchSize批量大小(64)

--maxSeqLen源句和目标句的最大长度(100)

--embeddSize单词嵌入大小(512)

--隐藏隐藏状态的大小(512)

--numLayers编码器/解码器层的数量(2)

--辍学率,0表示禁用辍学(0.2)

--剪辑渐变的clipGradient阈值(5)

--label平滑目标标签的平滑因子(0.1)

--probeFreq每次历元探测发展可能性的次数(1)

--probeMargin用于检查开发可能性是否增加(0.01)

--衰减学习率的耐心阈值和从最佳模型重新开始训练(1)

--光束平移中光束搜索的光束大小(10)

--lenPenalty长度惩罚(0.6)

关于

CytonMT:一个在C语言中实现的高效神经机器翻译开源工具包++

话题

资源

许可证

星星

观察者

叉子

发布

未发布版本

包装

未发布包