问题标签 [fairseq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 如何获取火炬中心模型生成的翻译的对齐或注意信息?
火炬中心提供预训练模型,例如:https ://pytorch.org/hub/pytorch_fairseq_translation/
这些模型可以在 python 中使用,或者与 CLI 交互。--print-alignment
使用 CLI,可以使用标志进行对齐。安装fairseq(和 pytorch)后,以下代码在终端中工作
在 python 中,可以指定关键字 argsverbose
和print_alignment
:
但是,这只会将对齐输出为日志消息。而对于 fairseq 0.9,它似乎被破坏并导致错误消息(问题)。
有没有办法从 python 代码访问对齐信息(甚至可能是完整的注意力矩阵)?
deep-learning - 为什么 FairSeq 的 VQ-Wav2Vec 的输出会丢失帧?
我正在使用 fairseq 库运行示例代码以使用 VQ-Wav2Vec 代码进行特征提取,如下所示:
我的理解是,vq-wav2vec 每 10ms 处理一次输入语音(假设以 16K 样本/秒采样)样本,并为这 10ms 的每一个语音输出一个大小为 [512] 个样本的特征向量。因此,假设输入语音是 10000 个样本,我们应该得到 62 帧(62 * 160 = 9920 个样本)。
为什么我只看到 60 帧?
python - 在 google colab 中安装并运行 fairseq (ModuleNotFoundError: No module named 'fairseq')
直到昨天,我们正常安装了 fairseq 并执行了它。
今天突然出现一个名为“ModuleNotFoundError: No module named 'fairseq'”的错误。
有谁知道如何解决这个问题?
安装 fairseq...
安装日志...
跑...
运行日志...
pytorch - 使用 PyTorch 在 Cloud TPU 上训练 FairSeq RoBERTa 时,RPC 失败,状态 =“不可用:套接字已关闭”错误
我按照教程“使用 Pytorch 在 Cloud TPU 上预训练 FairSeq RoBERTa ”来设置 Preemptible (v2-8) TPU 环境并训练我的 RoBERTa 模型。PyTorch env 按照文档的说明基于 torch-xla-1.6。但是,它不会像往常一样在 GPU 中输出任何训练日志,并且会在 2-3 天(间隔 12 小时)内两次抛出 RPC 失败警告(见下文 - 网络端点已在此处删除)。
我每个 epoch 的训练步数是 161,529。根据文档,按照我的配置,v2-8 将花费 80 小时进行 5 个 epoch。但是,我的工作似乎悬而未决。
请问有什么建议吗?
pytorch - 如何以非交互方式使用 fairseq interactive.py?
我正在尝试使用 Fairseq 从英语翻译成阿拉伯语。但是interactive.py 脚本会即时翻译文本片段。但我需要将它用作读取输入文本文件并写入输出文本文件写入。我提到了这个 GitHub 问题 - https://github.com/pytorch/fairseq/issues/858但它并没有清楚地解释一般如何做到这一点。有什么建议么 ?
python-3.x - 如何运行教程:fairseq 上的简单 LSTM
在尝试学习 fairseq 时,我正在关注网站上的教程并实施:
https://fairseq.readthedocs.io/en/latest/tutorial_simple_lstm.html#training-the-model
但是,在完成所有步骤之后,当我尝试使用以下方法训练模型时:
! fairseq-train data-bin/iwslt14.tokenized.de-en \ --arch tutorial_simple_lstm \ --encoder-dropout 0.2 --decoder-dropout 0.2 \ --optimizer adam --lr 0.005 --lr-shrink 0.5 \ --max-tokens 12000
我收到一个错误:
一些附加信息:我正在使用 google colab。我正在编写整个代码,直到 train 进入 .py 文件并根据我对说明的解释将其上传到 fairseq/models/... 路径。我正在关注链接中的确切教程。而且,在 colab 上运行它之前,我正在使用以下命令安装 fairseq:
!git clone https://github.com/pytorch/fairseq %cd fairseq !pip install --editable ./
我认为发生此错误是因为未正确设置根据教程创建的命令行参数。
任何人都可以解释一下我是否需要做其他事情。
对于您的投入,我将不胜感激,因为对于初学者来说,来自社区的帮助大有帮助。
python - 给定一个指示段边界的值,为张量生成段标签
有没有人知道一种为张量生成“段标签”的方法,给定一个表示张量内段边界的唯一值?
例如,给定一个 1D 输入张量,其中值1
表示段边界,
x = torch.Tensor([5, 4, 1, 3, 6, 2])
生成的段标签张量应该具有相同的形状,其值代表两个段:
segment_label = torch.Tensor([1, 1, 1, 2, 2, 2])
同样,对于一批输入,例如批量大小 = 3,
生成的段标签张量(1
用作段分隔符)应如下所示:
上下文:我目前正在 PyTorch 中使用 Fairseq 的 Transformer 实现来完成 seq2seq NLP 任务。我正在寻找一种在编码器前向传递期间将类似 BERT 的片段嵌入合并到 Transformer 中的方法,而不是修改用于翻译任务的现有数据集,例如language_pair_dataset
.
提前致谢!
speech-to-text - FairSeq 的语音到任务模型可以预测标点符号(例如,句子边界)吗?
我阅读了他们的论文,查看了他们的 repo,但找不到答案。FairSeq 的语音到任务模型是否预测标点符号(例如,句子边界)?我只是想在投入时间和精力来实施它之前找出答案。
pytorch - Fairseq 变换模型不起作用(浮点数不能转换为长)
我已经在一台新机器上安装了 python 3.8、pytorch 1.7 和 fairseq 0.10.1,然后从具有 python 3.6、pytorch 1.4 和 fairseq 0.9.0 的机器复制了脚本和模型,它正在工作。
模型已加载并准备好:
然后用于:
inputs
看起来像[tensor([ 116, 1864, 181, 6, 2]), tensor([ 5, 432, 7, 2])]
它断言,调用堆栈的最后一位是:
相反,如果我fairseq-interactive
从命令行使用它会失败,并显示RuntimeError: result type Float can't be cast to the desired output type Long
. (下面的完整堆栈跟踪。)
由于使用 cli 也失败了,我的直觉是我用 fairseq 0.9.x 构建的模型不能与 fairseq 0.10.x 一起使用。如果是这样,有没有办法更新模型(即无需重新训练)。如果没有,问题可能是什么,我该如何解决?
顺便说一句,如果我添加到命令行参数,则会出现完全相同的错误--cpu
,因此可以消除 GPU 或 cuda 版本作为可能的原因。
python - 如何将图表从 fairseq 记录到 tensorboard
我从阅读教程中得到的印象是这很容易:打个电话给add_graph()
.
第一个棘手的部分是找出把它放在哪里。我在循环的最顶部使用了fairseq_cli/train.py:enumerate()
train()
我正在--tensorboard-logdir mydir/
调用fairseq-train
. 这会导致TensorboardProgressBarWrapper
包装器SimpleProgressBar
(或您使用的任何日志记录格式),因此我正在尝试重新使用编写器实例。(也许这是我的错?)
我可以从对象中取出模型,trainer
我们需要的另一件事add_graph
是一些数据,这就是为什么我把它放在上面的循环中,所以我可以使用samples
. 我也尝试samples[0]
过完全相同的错误消息。
这是:
我希望有人可能比我更好地理解该错误消息?也欢迎有关更好的调用位置add_graph()
或处理整个事情的更好方法(获得我的模型的可视化表示)的提示。(PyTorchViz已经 2 年多没有更新了,显然不能与最新的 pytorch 一起使用。)
顺便说一句,训练的 Tensorboard 记录正在工作。
额外的
我又看了看,发现它会调用forward()
我的模型,它(忽略可选参数)看起来像:
所以我尝试手动创建空数据:
那失败了:
如果我使用 kwargs 风格:
它失败了:
我开始认为这可能是一个限制,add_graph()
它只适用于简单的def forward(self, x):
?