问题描述:最近因为课题需要使用allennlp包中的Predictor.from_path()
self.cp = Predictor.from_path("https://storage.googleapis.com/allennlp-public-models/elmo-constituency-parser-2020.02.10.tar.gz", cuda_device=self.device) 结果出现报错
allennlp.common.checks.ConfigurationError: ner not in acceptable choices for dataset_reader.type: ['conll2003', 'interleaving', 'sequence_tagging', 'sharded', 'babi', 'text_classification_json']. You should either use the --include-package flag to make sure the correct module is loaded, or use a fully qualified class name in your config file like {"model": "my_module.models.MyModel"} to have it imported automatically. 注意这里的ner,可能是crf_tagger或者snli或者bert。经过一天多的折腾,终于找到原因所在。主要就是因为allennlp包的使用需要调用allennlp-models和transformers,如果allennlp包的版本和allennlp-models或者transformers版本不对应就会报错,所以这三个包的版本要一致,否则就会报错。
我使用以下版本后没有再报错:
allennlp==2.9.0
allennlp-models==2.9.1
transformers==4.5.1
贴下github上的问答: