问题标签 [neural-mt]
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.
docker - Docker 从 Dockerfile 构建,具有更多内存
如何docker build
从 Dockerfile 中获取更多内存?
这是一个不同的问题,当 docker build a Dockerfile 时允许更多内存
本地安装软件时,有足够的内存成功构建和安装marian
工具
但是在使用Dockerfile
https://github.com/marian-nmt/marian/blob/master/scripts/docker/Dockerfile.cpu构建 Docker 映像时,它会因多个内存耗尽错误而失败
[出去]:
最终导致:
查看docker build --help
,有控制内存使用的选项:
-m
但是我无法弄清楚将选项-_-|||放在何处的正确语法
它不在 Dockerfile 之前:
在 -t 之前不在 Dockerfile 之后
它不在本地路径之前的 -t 之后
它也不是在最后的本地路径之后......
如何docker build
从 Dockerfile 中获取更多内存?
我的码头工人版本:
python - 第一批后的Tensorflow ResourceExhaustedError
总结和测试用例
核心问题是,正如我所料,Tensorflow 在不是第一个批次上抛出 OOM 分配。因此,我认为存在内存泄漏,因为在每批之后显然没有释放所有内存。
解释:
从本质上讲,它在第 145 批次失败之前144
以批次大小运行批次,这看起来很奇怪。500
如果它不能为第 145 批分配足够的内存,为什么它应该为前 144 批工作?这种行为是可以复制的。
请注意,每个批次的大小都不同,因为每个批次都有尺寸[BATCH_SIZE, MAX_SEQUENCE_LENGTH]
,并且根据采样的序列,序列长度会有所不同,但程序不会在最大的批次上失败;它后来在较小的一个上失败了。因此,我得出结论,单个超大批次不会导致内存错误;它似乎是内存泄漏。
使用较大的批处理大小,程序会更早地失败;使用较小的批量大小,它稍后会失败。
完整的错误在这里:
代码片段(来自models.py)
tensorflow - 如何在开始训练之前找到并运行数据集中的最大批次
问题
在 Tensorflow 中,我经常在第一个训练阶段遇到 OOM 错误。然而,网络的庞大性质导致第一个 epoch 需要大约一个小时,对于快速测试新的超参数来说非常长。
理想情况下,我希望能够对迭代器进行排序,这样我就可以get_next()
在最大的批次上运行一次。
我怎样才能做到这一点?或者也许有更好的方法来实现早期失败?
迭代器的格式为:(source, tgt_in, tgt_out, key_weights, source_len, target_len)
我希望按目标长度排序。它在返回之前被填充和批处理。
数据集是一个句子列表,具有相似的长度。我想在迭代器中找到最大的批次并只运行它。
一些代码
如果初始化程序没有每次都对迭代器进行洗牌,则下面的代码将起作用,从而破坏获得的有关最大批次位置的信息。我不太确定如何修改它——一旦使用 读取批次的长度get_next()
,它就已经被“弹出”并且不能再用作模型的输入。
matlab - matlab神经网络删除特定神经元
我正在使用带有前馈网络的 matlab 神经网络函数。该算法默认创建全连接网络,是否可以创建一个非全连接网络,是否可以删除某些特定的神经元连接?只是为了澄清我正在使用神经网络进行能源需求预测,最终这是一个回归问题。如果有人可以帮助我,将不胜感激。
microsoft-translator - Microsoft 翻译 API - notranslate 选项不适用于神经网络 MT
发送到 Microsoft 神经网络 MT 时是否有人遇到 notranslate 选项被忽略?相同的字符串适用于 SMT。我用“text/html”发送这个。
我的示例字符串:
此外,如果我使用“notranslate”选项将href 包裹在一个字符串周围,则整个链接将在NMT 之后消失。
microsoft-translator - 你可以在 MS Text API 中使用带有 generalnn 类别的字典吗?
有没有办法将术语词典上传到集线器,在使用 generalnn 类别(不是经过训练的引擎)进行翻译时应用?
似乎可行的解决方法是使用 <mstrans:dictionary> 标签,例如:
但这需要 (1) 在发送翻译之前对每个样本进行预处理,并且 (2) 当您针对多种语言时将不起作用。
microsoft-translator - NMT V3 中的动态字典功能
我听说应该可以添加一个动态字典,在训练模型时保存一组术语或单词列表。这在今天的 Translation Hob 中应该是可能的。
如何使用自定义翻译器项目在 portal.customtranslator.azure.ai 中使用 V3 或 NMT 执行此操作?
/垫子
dictionary - V3 NMT 中字典功能的预计发布日期
我的部门计划很快切换到使用 NMT V3,但我们需要字典功能(添加词汇表和请勿翻译列表)进行培训。
以前可能有人问过这个问题,但我没有看到任何最近的帖子要求它,您能否告知何时发布此功能?粗略估计就可以了(例如 2019 年第一季度)
非常感谢,西蒙
machine-translation - 如何使用 BLEU 分数将您的模型与现有模型进行比较?
所以我使用 BLEU 分数指标来比较我的 NMT 模型与现有模型的性能。但是,我想知道我必须与其他模型匹配多少设置。
我认为开发集、测试集和超参数等设置是可行的。但是,我使用的预处理步骤与现有模型不同,所以我想知道我的模型的 BLEU 分数是否可以与其他模型进行比较。现有模型也有可能具有未报告的隐藏参数。
https://arxiv.org/pdf/1804.08771.pdf解决了报告 BLEU 和调用切换到 SacreBLEU 的问题。但是许多现有模型都使用 BLEU,所以我认为我不能在我的模型上使用 SacreBLEU 得分指标。
machine-translation - 可以在使用稍微修改的标准测试集的同时比较 NMT 模型之间的 Test BLEU 分数吗?
我正在使用此处找到的 tst2013.en作为我的测试集来获取测试BLEU
分数以与其他以前的模型进行比较。但是,我必须过滤掉一些超过 100 个单词的句子,否则我将没有资源来运行模型。
但是对于稍微修改的测试集,将测试BLEU
分数与使用未修改测试集的其他模型进行比较是否可以接受?