Fairseq

基于卷积神经网络的机器翻译
授权协议 BSD
开发语言 Lua
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 宰父淳
操作系统 跨平台
开源组织 Facebook
适用人群 未知
 软件概览

Fairseq 使用一种全新的卷积神经网络(CNN)进行语言翻译,结果以 9 倍于以往循环神经网络(CNN)的速度实现了目前最高准确率。它在单个机器上实现多 GPU 训练,并在 CPU 和 GPU 上实现快速搜索。

Fairseq 提供了英语到法语,英语到德语和英语到罗马尼亚语翻译的预训练模型。

模型图


  • 前言:该教程利用fairseq增加一个新的FaiseqEncoderDecoderModel,该新模型利用LSTM来encodes一个sentence输入句;接着把最后的hidden state传给第二个LSTM,用于decodes出target sentence目标句。 教程包括: a.编写Encoder和Decoder,分别用于encode、decode输入句与目标句; b.注册一个适用于Co

  • 提示篇:   本篇博客内容较多,建议耐心阅读。 感谢篇:   十分感谢外研在线技术中心算法团队各位老师在我实习期间给予的帮助,好嗨皮的时光,学到了很多东西。【悄悄告诉你们:他们非常耐心 <( ̄▽ ̄)/】 前言   本文简单记录一下我在实验过程中所接触到的Fairseq的命令参数,并给出一个中-英机器翻译的案例(此案例参考 《使用fairseq从头开始训练一个中英神经机器翻译模型》进行复现操作,不得

  • 训练新模型 以机器翻译为例子开始 数据预处理 Fairseq 包含多个翻译数据集的示例预处理脚本:IWSLT 2014(德语-英语)、WMT 2014(英语-法语)和 WMT 2014(英语-德语)。预处理和二值化 IWSLT 数据集: > cd examples/translation/ #把当前路径切换到翻译示例下 > bash prepare-iwslt14.sh #运行预处理脚本 >

  • fairseq库学习笔记(一)入门 前言 Fairseq是一个用PyTorch编写的序列建模工具包,它允许研究人员和开发人员训练用于翻译、摘要、语言建模和其他文本生成任务的定制模型。本系列笔记主要以翻译官方文档为主,附带一些个人的学习记录。官方教程连接:link 1 入门(Getting Started) 1.1 评估预训练模型(Evaluating Pre-trained Models) 首先,

  • 说明 使用的fairseq版本为 0.6.2 fairseq 进行beam search的逻辑位于 fairseq.sequence_generator.SequenceGanerator:generate SequenceGenerator负责处理整个搜索的过程, 大致逻辑为 对每个时刻, 调用self.search.step获取可能的候选, 将搜索到EOS的结果加入到结果候选中, 更新参数并进

  • 现在开头:Fairseq是一个正在快速迭代的产品,而且是开源的! 这不是表扬,这意味着三件事情: 1.他没有文档!所有框架代码都没有任何注释,包括函数docstring都没有 2.他没有经过有效测试,估计是抢时间吧!即使是官网Readme里的例子也是无法跑起来的! 3.他是一个框架,而且是一个非常不Pythonic的框架,充斥着inline/包装器/莫名其妙的语法。 4.他大量使用类的静态方法和全

  • 在fairseq的目录中创建一个文件夹my_dir /fairseq/my_dir/ └── __init__.py └── models └── simple_lstm.py └── criterions └── cross_entropy.py 在simple_lstm.py中已经注册好模型和架构(tutorial_simple_lstm) 在fairseq中注册模型、架构以及crite

  • fairseq-train --tensorboard-logdir #可视化训练过程 --keep-last-epochs 10 # 默认保存最后10个epoch --eval-bleu # 在验证阶段评估bleu --eval-bleu-args '{"beam": 5, "max_len_a": 1.2, "max_len_b": 10}' # 评估bl

  • fairseq是facebook开源的主要用于序列到序列的模型的训练。 github地址:https://github.com/facebookresearch/fairseq fairseq主要有docs、examples、fairseq、fairseq_cli、hydra_plugins、scripts几个目录。 docs:fairseq训练的说明文档 examples: 一些组件的使用示例

 相关资料
  • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz

  • 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络

  • 在了解了机器学习概念之后,现在可以将注意力转移到深度学习概念上。深度学习是机器学习的一个分支。深度学习实现的示例包括图像识别和语音识别等应用。 以下是两种重要的深度神经网络 - 卷积神经网络 递归神经网络 在本章中,我们将重点介绍CNN - 卷积神经网络。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。CNN与其他普通神经网络之间的主要区别在于

  • 主要内容:卷积神经网络深度学习是机器学习的一个分支,它是近几十年来研究人员突破的关键步骤。深度学习实现的示例包括图像识别和语音识别等应用。 下面给出了两种重要的深度神经网络 - 卷积神经网络 递归神经网络。 在本章中,我们将关注第一种类型,即卷积神经网络(CNN)。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。 CNN与任何其他普通神经网络之间的主要区别在于CNN

  • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组32x32RGB的图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Krizhev

  • 在“多层感知机的从零开始实现”一节里我们构造了一个含单隐藏层的多层感知机模型来对Fashion-MNIST数据集中的图像进行分类。每张图像高和宽均是28像素。我们将图像中的像素逐行展开,得到长度为784的向量,并输入进全连接层中。然而,这种分类方法有一定的局限性。 图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。 对于大尺寸的输入图像,使用全连接层容易造成模型过大

  • 下午好在第一阶段,在卷积神经网络(输入层)的输入上,我们接收一个源图像(因此是手写英文字母的图像)。首先,我们使用一个从左到右的nxn窗口来扫描图像并在内核(卷积矩阵)上乘法来构建特征映射?但没有人写过内核应该具有什么样的精确值(换句话说,我应该将从n*n窗口检索到的数据相乘到什么样的内核值)。是否适合在这个用于边缘检测的卷积核上乘以数据?有许多卷积核(浮雕、高斯滤波器、边缘检测、角度检测等)?但

  • 我有32760个音频频谱,计算维度=72(#帧)x 40(#频段),我试图将其输入“宽”卷积神经网络(第一层是4个不同conv层的合奏)。这些频谱没有深度,因此它们可以表示为72 x 40 2D数字浮点数组,因此分类器的X输入是一个32760个元素长的数组,每个元素都是这些72 x 40 x 1频谱之一。Y输入是一个标签数组,一个热编码,有32760个元素。 当尝试使用 我得到以下错误: 以下是我