问题标签 [allennlp]
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.
python - Jupyter Notebook 内核在尝试调用 elasticsearch 时死亡
我的 Jupyter Notebook 经常出现问题。它运行一个没有问题的 NLP 模型训练,但是在调用 elasticsearch 以在专用 UI 上可视化一些数据之后,使用这些命令
这些输出:
笔记本发送内核已死的消息,它将自动重新启动。Elasticsearch 正在使用 docker 实例运行,并且在 localhost 9200 中一切似乎都是正确的:
但是无法访问 localhost 8080。有任何想法吗?我对docker有点陌生,所以我不知道问题是否存在或代码的其他部分。我正在使用的包 biome text 运行在 AllenNLP 上,它建立在 Pytorch 之上。
allennlp - 有没有办法区分 AllenNLP 中的验证和评估?
有时我们可能希望在验证(即在训练期间对开发集进行验证)和最终评估期间出现一些细微的不同行为。我不确定是否有一种简单的方法来通知我们的模型是由train
命令还是evaluate
命令调用。现在我能做的只是用来self.training
将它们与训练区分开来,但是验证和评估都有self.training == False
,这使我无法区分它们。我的意思是,如果它是我自己的 pytorch 框架,那非常容易做到,因为我可以编写自己的训练和评估方法,但在 AllenNLP 中,它们都是我不想修改的框架代码的一部分。有没有简单的方法来做到这一点?
allennlp - Calculate loss in train epoch function
we have three kinds of losses
- loss
- batch_loss
- train_loss
as I understand loss is a tensor, batch loss is the value of the tensor , train_loss is the accumulative value of the batch_loss this is ok for me.
my question is why AllenNLP considered the batch_loss in for batch and did not calculate the cumulative loss for batch_group?
Also I did not understand the need for batch_group inside epoch, and batch inside batch_group
this is my understanding we have epoch inside it we have batch_group inside batch_group we have batch the batch_loss is calculated for batch not for batch_group why?
allennlp - 在配置中传递损失函数和指标
在官方示例中,指标和损失函数都是硬编码的。我想知道我们是否可以在配置 jsonnet 中传递这些,这样我就可以在具有不同指标的不同数据集中重用我的模型。
allennlp - allennlp.service 是否已被弃用?
我注意到在我拉取版本 1.0.0 后,我不再能够导入 allennlp.service。我看到文档仍然只更新到 0.9.0,所以我不确定服务模块的状态是什么。
allennlp - 如何使用 AllenNLP 设置完全禁用模型/权重序列化?
jsonnet
我希望通过使用配置文件在标准 AllenNLP 模型训练中禁用序列化所有模型/状态权重。
原因是我正在使用 Optuna 运行自动超参数优化。测试数十个模型很快就会填满驱动器。我已经通过设置禁用了检查num_serialized_models_to_keep
点0
:
我不希望设置serialization_dir
为,None
因为我仍然想要关于记录中间指标等的默认行为。我只想禁用默认模型状态、训练状态和最佳模型权重写入。
除了我上面设置的选项之外,是否有任何默认的训练器或检查点选项来禁用模型权重的所有序列化?我检查了 API 文档和网页,但找不到任何内容。
如果我需要自己定义这样一个选项的功能,我应该在我的模型子类中覆盖 AllenNLP 中的哪些基本函数?
或者,当训练结束时,它们对清理中间模型状态有什么用吗?
编辑: @petew 的答案显示了自定义检查点的解决方案,但我不清楚如何使此代码可allennlp train
用于我的用例。
我希望从配置文件中调用 custom_checkpointer,如下所示:
调用时加载检查点的最佳做法是什么allennlp train --include-package <$my_package>
?
我的 my_package 包含子目录中的子模块,例如my_package/models
s 和my_package/training
. 我想将自定义检查点代码放在my_package/training/custom_checkpointer.py
我的主模型位于my_package/models/main_model.py
. 我是否必须在 main_model 类中编辑或导入任何代码/函数才能使用自定义检查点?
python-3.x - RNNLanguageModel 的 forward 方法的作用是什么?
我正在阅读有关使用 AllenNlp 框架的基于字符的神经网络的教程,目标是构建一个可以完成句子的模型。在我想训练我的模型之后,有一个实例构建步骤。我有下面的代码,我无法理解转发功能的作用,任何人都可以帮忙吗?有人可以举个例子吗
nlp - 如何将outlogits转换为令牌?
我在 allenNlp 中有一个转发函数,由:
out_logits 变量包含标记的概率,如何显示这些标记。outlogits 给出:
我想将最后一个数组转换为令牌?
allennlp - 培训师还有其他验证指标吗?
我使用 seq2seq 模型,它可以计算每个 epoch 的 BLEU 分数(一个 NMT 分数)。但是,我不能将 BLEU 分数设置为验证指标,因此它不能提前停止训练。我阅读了源代码,但是除了“+loss”之外,没有任何关于可以将哪种字符串添加到验证指标中的提示。请救救我,谢谢!