Python 如何脱机使用ktrain for NER?
我已经按照这个笔记本训练了我的英语模型()。我能够保存我的预训练模型并毫无问题地运行它 但是,我需要再次运行它,但脱机运行,它不工作,我知道我需要下载文件并执行类似于此处所做的操作 但是,我无法理解我需要在哪里更改ktrain的设置 我运行以下命令:Python 如何脱机使用ktrain for NER?,python,tensorflow,offline,ner,bert-language-model,Python,Tensorflow,Offline,Ner,Bert Language Model,我已经按照这个笔记本训练了我的英语模型()。我能够保存我的预训练模型并毫无问题地运行它 但是,我需要再次运行它,但脱机运行,它不工作,我知道我需要下载文件并执行类似于此处所做的操作 但是,我无法理解我需要在哪里更改ktrain的设置 我运行以下命令: ktrain.load_predictor('Functions/my_english_nermodel') 这就是我得到的错误: Traceback (most recent call last): File "Z:\Functions\
ktrain.load_predictor('Functions/my_english_nermodel')
这就是我得到的错误:
Traceback (most recent call last):
File "Z:\Functions\NER.py", line 155, in load_bert
reloaded_predictor= ktrain.load_predictor('Z:/Functions/my_english_nermodel')
File "C:\Program Files\Python37\lib\site-packages\ktrain\core.py", line 1316, in load_predictor
preproc = pickle.load(f)
File "C:\Program Files\Python37\lib\site-packages\ktrain\text\ner\anago\preprocessing.py", line 76, in __setstate__
if self.te_model is not None: self.activate_transformer(self.te_model, layers=self.te_layers)
File "C:\Program Files\Python37\lib\site-packages\ktrain\text\ner\anago\preprocessing.py", line 100, in activate_transformer
self.te = TransformerEmbedding(model_name, layers=layers)
File "C:\Program Files\Python37\lib\site-packages\ktrain\text\preprocessor.py", line 1095, in __init__
self.tokenizer = self.tokenizer_type.from_pretrained(model_name)
File "C:\Program Files\Python37\lib\site-packages\transformers\tokenization_utils.py", line 903, in from_pretrained
return cls._from_pretrained(*inputs, **kwargs)
File "C:\Program Files\Python37\lib\site-packages\transformers\tokenization_utils.py", line 1008, in _from_pretrained
list(cls.vocab_files_names.values()),
OSError: Model name 'bert-base-uncased' was not found in tokenizers model name list (bert-base-uncased, bert-large-uncased, bert-base-cased, bert-large-cased, bert-base-multilingual-uncased, bert-base-multilingual-cased, bert-base-chinese, bert-base-german-cased, bert-large-uncased-whole-word-masking, bert-large-cased-whole-word-masking, bert-large-uncased-whole-word-masking-finetuned-squad, bert-large-cased-whole-word-masking-finetuned-squad, bert-base-cased-finetuned-mrpc, bert-base-german-dbmdz-cased, bert-base-german-dbmdz-uncased, bert-base-finnish-cased-v1, bert-base-finnish-uncased-v1, bert-base-dutch-cased). We assumed 'bert-base-dutch-cased' was a path, a model identifier, or url to a directory containing vocabulary files named ['vocab.txt'] but couldn't find such vocabulary files at this path or url.
Process finished with exit code 1
我找到了一个解决方案,当ktrain通过internet连接运行时,它会创建一个文件夹: ''' C:\Users\lemolina.cache\torch\transformers ''' 我需要在无法访问互联网的机器上复制相同的文件夹更一般地说,基于预训练的模型下载到
/.cache/torch/transformers
。例如,在Linux上,这将是/home/.cache/torch/transformers
如上面的回答所示,要在没有internet访问的机器上重新加载ktrain预测器
(对于使用transformers
库中的模型的ktrain
模型),您需要将该文件夹中的模型文件复制到新机器上的相同位置