pytorch版本的OpenNMT多任务编译实践

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sparkexpert/article/details/81304337

        OpenNMT 是哈佛大学 NLP 研究小组开源的产品级翻译工具,在其官网上有多种语言代码,有基于 Torch/Pytorch,也有基于tensorflow的。该框架一经发布便被谷歌采用,是迄今为止最能代表神经机器翻译前沿技术的开源工具之一。

      本文主要对pytorch的版本进行编译和实践。

      从其官网https://github.com/OpenNMT/OpenNMT-py上介绍:pytorch版本的opennmt具有多种功能:如包括基本的文本翻译、自动摘要、语音转文本和图像转文本等。

The following OpenNMT features are implemented:

Beta Features (committed):

  • multi-GPU
  • Structured attention
  • [Conv2Conv convolution model]
  • SRU "RNNs faster than CNN" paper

OpenNMT的框架主要是序列到序列的模型(seq2seq),因此可以实现多种任务的快速变换。

其原理架构如下:

2、编译过程

注:pytorch版本的opennmt需要用到torch text库,但是通过pip安装的text版本较老,会出现很多的BUG,因此需要从git库上取最新代码进行安装。

(1) 英语转德语的翻译实践

(2) 图像到文本识别实践(从其文档中进行编译学习http://opennmt.net/OpenNMT-py/im2text.html)

测试两个图片分别为:

可见其结果还是非常好的。

猜你喜欢

转载自blog.csdn.net/sparkexpert/article/details/81304337