未知函数注册表:'scorers' 带有 spacy webservice 和 flask
Unknown function registry: 'scorers' with spacy webservice with flask
我将 spacy 与 flask 和 anaconda 结合使用来创建一个简单的网络服务。一切正常,直到今天我尝试 运行 我的代码。我得到了这个错误,我不明白问题到底是什么。我认为这个问题更多地与 spacy 有关,而不是与 flask 有关。
代码如下:
@app.route('/en/<textstr>')
def eng(textstr):
nlp = spacy.load("en_core_web_trf")
doc = nlp(textstr)
for token in doc:
print(token.text,list(token.morph), token.pos_,token.dep_)
if token.pos_ == "VERB":
print("This is a Verb: "+token.text_)
return "Success"
当我输入 http://127.0.0.1:5000/en/Hello%20my%20name%20is%20Whosebug 时,我收到此错误消息:
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 2091, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 2076, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 2073, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 1518, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 1516, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 1502, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "C:\Users\User\flask_api_env\main.py", line 85, in eng
nlp = spacy.load("en_core_web_trf")
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\__init__.py", line 50, in load
return util.load_model(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 324, in load_model
return load_model_from_package(name, **kwargs)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 357, in load_model_from_package
return cls.load(vocab=vocab, disable=disable, exclude=exclude, config=config)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\en_core_web_trf\__init__.py", line 10, in load
return load_model_from_init_py(__file__, **overrides)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 517, in load_model_from_init_py
return load_model_from_path(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 392, in load_model_from_path
nlp = load_model_from_config(config, vocab=vocab, disable=disable, exclude=exclude)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 429, in load_model_from_config
nlp = lang_cls.from_config(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\language.py", line 1672, in from_config
nlp.add_pipe(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\language.py", line 774, in add_pipe
pipe_component = self.create_pipe(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\language.py", line 660, in create_pipe
resolved = registry.resolve(cfg, validate=validate)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 729, in resolve
resolved, _ = cls._make(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 778, in _make
filled, _, resolved = cls._fill(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 833, in _fill
filled[key], validation[v_key], final[key] = cls._fill(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 832, in _fill
promise_schema = cls.make_promise_schema(value, resolve=resolve)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 1023, in make_promise_schema
func = cls.get(reg_name, func_name)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 127, in get
raise RegistryError(Errors.E892.format(name=registry_name, available=names))
catalogue.RegistryError: [E892] Unknown function registry: 'scorers'.
Available names: annotation_setters, architectures, augmenters, batchers, callbacks, cli, datasets, displacy_colors, factories, initializers, languages, layers, lemmatizers, loggers, lookups, losses, misc, models, ops, optimizers, readers, schedules, span_getters, tokenizers
有人可以帮我吗?
您收到的是来自 spaCy
的内部错误。您使用 spaCy
提供的 en_core_web_trf
模型。它甚至不是 third-party 模型。它似乎完全在 spaCy
.
内部
您可以尝试将 spaCy
升级到最新版本。
注册表名称 scorers
似乎有效(至少从 spaCy
v3.0 开始)。看到这个 table:https://spacy.io/api/top-level#section-registry
描述您使用的模型的页面:https://spacy.io/models/en#en_core_web_trf
spacy.load()
函数文档:https://spacy.io/api/top-level#spacy.load
我将 spacy 与 flask 和 anaconda 结合使用来创建一个简单的网络服务。一切正常,直到今天我尝试 运行 我的代码。我得到了这个错误,我不明白问题到底是什么。我认为这个问题更多地与 spacy 有关,而不是与 flask 有关。
代码如下:
@app.route('/en/<textstr>')
def eng(textstr):
nlp = spacy.load("en_core_web_trf")
doc = nlp(textstr)
for token in doc:
print(token.text,list(token.morph), token.pos_,token.dep_)
if token.pos_ == "VERB":
print("This is a Verb: "+token.text_)
return "Success"
当我输入 http://127.0.0.1:5000/en/Hello%20my%20name%20is%20Whosebug 时,我收到此错误消息:
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 2091, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 2076, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 2073, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 1518, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 1516, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\flask\app.py", line 1502, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "C:\Users\User\flask_api_env\main.py", line 85, in eng
nlp = spacy.load("en_core_web_trf")
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\__init__.py", line 50, in load
return util.load_model(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 324, in load_model
return load_model_from_package(name, **kwargs)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 357, in load_model_from_package
return cls.load(vocab=vocab, disable=disable, exclude=exclude, config=config)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\en_core_web_trf\__init__.py", line 10, in load
return load_model_from_init_py(__file__, **overrides)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 517, in load_model_from_init_py
return load_model_from_path(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 392, in load_model_from_path
nlp = load_model_from_config(config, vocab=vocab, disable=disable, exclude=exclude)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 429, in load_model_from_config
nlp = lang_cls.from_config(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\language.py", line 1672, in from_config
nlp.add_pipe(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\language.py", line 774, in add_pipe
pipe_component = self.create_pipe(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\language.py", line 660, in create_pipe
resolved = registry.resolve(cfg, validate=validate)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 729, in resolve
resolved, _ = cls._make(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 778, in _make
filled, _, resolved = cls._fill(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 833, in _fill
filled[key], validation[v_key], final[key] = cls._fill(
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 832, in _fill
promise_schema = cls.make_promise_schema(value, resolve=resolve)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\thinc\config.py", line 1023, in make_promise_schema
func = cls.get(reg_name, func_name)
File "C:\Users\User\anaconda3\envs\flask_api_env\Lib\site-packages\spacy\util.py", line 127, in get
raise RegistryError(Errors.E892.format(name=registry_name, available=names))
catalogue.RegistryError: [E892] Unknown function registry: 'scorers'.
Available names: annotation_setters, architectures, augmenters, batchers, callbacks, cli, datasets, displacy_colors, factories, initializers, languages, layers, lemmatizers, loggers, lookups, losses, misc, models, ops, optimizers, readers, schedules, span_getters, tokenizers
有人可以帮我吗?
您收到的是来自 spaCy
的内部错误。您使用 spaCy
提供的 en_core_web_trf
模型。它甚至不是 third-party 模型。它似乎完全在 spaCy
.
您可以尝试将 spaCy
升级到最新版本。
注册表名称 scorers
似乎有效(至少从 spaCy
v3.0 开始)。看到这个 table:https://spacy.io/api/top-level#section-registry
描述您使用的模型的页面:https://spacy.io/models/en#en_core_web_trf
spacy.load()
函数文档:https://spacy.io/api/top-level#spacy.load