【问题标题】:Including allennlp predictor arguments in config.json在 config.json 中包含 allennlp 预测器参数
【发布时间】:2023-03-13 05:54:01
【问题描述】:

我正在训练一个 allennlp crf_tagger。我正在使用一个基于 SentenceTaggerPredictor。问题在于分词器参数 - 在 SentenceTaggerPredictor 的情况下,有一个语言参数。

由于 SentenceTaggerPredictor 有 language="en_core_web_sm" 作为默认参数,所以当我这样做时

Predictor.from_path("model.tar.gz", "sentence_tagger")

分词器是使用默认语言创建的。但是,如果使用不同的语言对训练数据进行标记,会发生什么情况。如何为模型 config.json 中的预测器指定参数,以便使用非默认语言构造 Predictor.from_path

【问题讨论】:

    标签: prediction allennlp


    【解决方案1】:

    Predictor.from_path() 方法有一个 overrides 参数,您可以在这种情况下使用它。例如,Predictor.from_path("model.tar.gz", "sentence_tagger", overrides={"dataset_reader.tokenizer.language": "en"})

    【讨论】:

    • 这似乎不起作用,覆盖仅修改 config.json 用于构造模型和标记器,如您所示。但是语言是预测器本身的一个参数。并且 Predictor.from_path 总是使用默认参数构造预测器。有一个 github 问题,我已将反馈添加到其中。我知道如何加载存档并从中创建预测器,但我希望能够在模型训练时(通过 config.json)指定额外的预测器参数,而且目前似乎不支持。
    • 哦,我明白了。好的,我已经做了一个 PR 来解决这个问题:github.com/allenai/allennlp/pull/5275
    • 谢谢,最好不要将 kwargs 传递给 Predictor.from_path要求输入文本已经被标记,但预测器没有)。但是在 Predictor.from_path 上的 kwargs 是向前迈出的一大步。
    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 2021-06-30
    • 2016-07-11
    • 2021-03-31
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    相关资源
    最近更新 更多