OpenNMT 是一个由 Harvard NLP (哈佛大学自然语言处理研究组) 开源的 Torch 神经网络机器翻译系统。
OpenNMT 系统设计简单易用,易于扩展,同时保持效率和最先进的翻译精确度。
特性:
简单的通用接口,只需要源/目标文件。
快速高性能GPU训练和内存优化。
提高翻译性能的最新的研究成果。
可配对多种语言的预训练模型(即将推出)。
允许其他序列生成任务的拓展,如汇总和图文生成。
快速开始:
OpenNMT 包含三个命令
1) 数据预处理
th preprocess.lua -train_src data/src-train.txt -train_tgt data/tgt-train.txt -valid_src data/src-val.txt -valid_tgt data/tgt-val.txt -save_data data/demo
2) 模型训练
th train.lua -data data/demo-train.t7 -save_model model
3) 语句翻译
th translate.lua -model model_final.t7 -src data/src-test.txt -output pred.txt
机器翻译模型训练步骤 运行环境:ubantu或centos,python3.6以上 tip:本人在撰写这个的时候是python小白+深度学习小白所以有些地方写的比较细致,前几年写的了一直没发出来,有什么问题欢迎留言交流。后续会出工作和学习中遇到的各种问题及解决方案(暂时只限NLP方向机器翻译方向) 一、训练分词模型 用sentencepiece进行分词 git地址:https://github.c
https://github.com/OpenNMT/OpenNMT-py GitHub - OpenNMT/CTranslate2: Fast inference engine for Transformer models 安装软件包: pip install OpenNMT-py pip install ctranslate2 基于CTranslate2和openNMT-py对比性能(非基于官
由于实验评估需要,我想尝试一下在OpenNMT中使用Transformer,不过还是遇到了一些问题,这里记录一下: 在之前的实验中,我注意到OpenNMT的Seq2Seq model的performance实际上比不上最简单的PyTorch的Seq2Seq示例代码。觉得很疑惑,稍微搜索后发现,其他网友也提出了类似的问题: https://github.com/OpenNMT/OpenNMT-py/
参考资料: https://opennmt.net/ GitHub:OpenNMT
源码地址:https://github.com/OpenNMT/OpenNMT-py 一、 前期准备 /!\ 首先安装代码所需包:Torchtext,ConfigArgParse等 Torchtext Torchtext是非官方的、一种为pytorch提供文本数据处理能力的库, 类似于图像处理库Torchvision。 安装方法1: 下载地址:https://github.com/text 安装:
1)数据处理: th preprocess.lua -train_src data/src-train.txt -train_tgt data/tgt-train.txt -valid_src data/src-val.txt -valid_tgt data/tgt-val.txt -save_data data/demo 训练数据:src-train.txt为输入语句,tgt-train.txt
安装: 其中requirements.txt里安装的是很新的torchtext git clone --branch 0.9.1 https://github.com/OpenNMT/OpenNMT-py.git cd OpenNMT-py pip install -r requirements.txt cd .. 预处理: 其中src-train.txt和tgt-train.txt为原始英文
http://forum.opennmt.net/t/how-to-use-glove-pre-trained-embeddings-in-opennmt-py/1011 Using vocabularies from OpenNMT-py preprocessing outputs, embeddings_to_torch.py generate encoder and decoder embe
opennmt-pytorch版本学习 原文来自——opennmt-pytorch的官方文档Quickstart — OpenNMT-py documentation 快速入手 0、准备好opnmt-py pip install --upgrade pip pip install OpenNMT-py 更详细的指导在这里https://github.com/ymoslem/OpenNMT-Tut
译者:mengfu188 校对者:Zhiyu-Chen 作者: Sean Robertson 在这个项目中,我们将教一个把把法语翻译成英语的神经网络。 [KEY: > input, = target, < output] > il est en train de peindre un tableau . = he is painting a picture . < he is painting
人工神经网络指由大量的神经元互相连接而形成的复杂网络结构。以人的视觉系统为例,人的视觉系统的信息处理是分级的,高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表达语义或者意图。人工神经网络提出最初的目的是为了模拟生物神经网络传递和处理信息的功能。它按照一定规则将许多神经元连接在一起,并行的处理外接输入信息。人工神经网络的每一层都有若干神经元并用可变权重的有向弧连接,具体训练过程是通过多次迭代对已知信息的反复学习并调整改变神经元的连接权重。
神经网络 (Neural Network) 是机器学习的一个分支,全称人工神经网络(Artificial Neural Network,缩写 ANN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。 Perceptron (感知器) 一个典型的神经网络由输入层、一个或多个隐藏层以及输出层组成,其中箭头代表着数据流动的方向,而圆圈代表激活函数(最常用的激活函数为
译者:bat67 最新版会在译者仓库首先同步。 可以使用torch.nn包来构建神经网络. 我们以及介绍了autograd,nn包依赖于autograd包来定义模型并对它们求导。一个nn.Module包含各个层和一个forward(input)方法,该方法返回output。 例如,下面这个神经网络可以对数字进行分类: 这是一个简单的前馈神经网络(feed-forward network)。它接受一
本文向大家介绍python机器学习之神经网络(一),包括了python机器学习之神经网络(一)的使用技巧和注意事项,需要的朋友参考一下 python有专门的神经网络库,但为了加深印象,我自己在numpy库的基础上,自己编写了一个简单的神经网络程序,是基于Rosenblatt感知器的,这个感知器建立在一个线性神经元之上,神经元模型的求和节点计算作用于突触输入的线性组合,同时结合外部作用的偏置,对若干
本文向大家介绍python机器学习之神经网络(二),包括了python机器学习之神经网络(二)的使用技巧和注意事项,需要的朋友参考一下 由于Rosenblatt感知器的局限性,对于非线性分类的效果不理想。为了对线性分类无法区分的数据进行分类,需要构建多层感知器结构对数据进行分类,多层感知器结构如下: 该网络由输入层,隐藏层,和输出层构成,能表示种类繁多的非线性曲面,每一个隐藏层都有一个激活函数,将
机器翻译是指将一段文本从一种语言自动翻译到另一种语言。因为一段文本序列在不同语言中的长度不一定相同,所以我们使用机器翻译为例来介绍编码器—解码器和注意力机制的应用。 读取和预处理数据 我们先定义一些特殊符号。其中“<pad>”(padding)符号用来添加在较短序列后,直到每个序列等长,而“<bos>”和“<eos>”符号分别表示序列的开始和结束。 import collections impo
我玩神经网络。我了解卷积层、完全连接层和许多其他东西是如何工作的。我还知道什么是梯度,以及如何训练这样的网络。 框架千层面包含一个称为InverseLayer的层。 InverseLayer类通过应用要反转的层相对于其输入的偏导数,对神经网络的单层执行反转操作。 我不知道这是什么意思,或者我应该在什么时候使用这个层。或者倒置偏导数背后的想法是什么? 非常感谢你