Having trained a spacy_stanza model to use as a base when annotating with Prodigy I discovered I could not load it once saved. Here is the code. Please advise.
nlp.to_disk('NLP_model_KEK_Brain-Spacy-Training NER Model-JN1-4-7-20--5-7-20') # saving the spacy_stanza model
nlp2 = spacy.load('NLP_model_KEK_Brain-Spacy-Training NER Model-JN1-4-7-20--5-7-20', snlp = snlp) # Loading
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
~\Anaconda3\envs\spcy\lib\site-packages\spacy\util.py in get_lang_class(lang)
73 try:
---> 74 module = importlib.import_module(".lang.%s" % lang, "spacy")
75 except ImportError as err:
~\Anaconda3\envs\spcy\lib\importlib\__init__.py in import_module(name, package)
125 level += 1
--> 126 return _bootstrap._gcd_import(name[level:], package, level)
127
~\Anaconda3\envs\spcy\lib\importlib\_bootstrap.py in _gcd_import(name, package, level)
~\Anaconda3\envs\spcy\lib\importlib\_bootstrap.py in _find_and_load(name, import_)
~\Anaconda3\envs\spcy\lib\importlib\_bootstrap.py in _find_and_load_unlocked(name, import_)
ModuleNotFoundError: No module named 'spacy.lang.stanza_el'
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
<ipython-input-94-37610dc278a7> in <module>
----> 1 nlp2 = spacy.load('NLP_model_KEK_Brain-Spacy-Training NER Model-JN1-4-7-20--5-7-20', snlp = snlp)
~\Anaconda3\envs\spcy\lib\site-packages\spacy\__init__.py in load(name, **overrides)
28 if depr_path not in (True, False, None):
29 deprecation_warning(Warnings.W001.format(path=depr_path))
---> 30 return util.load_model(name, **overrides)
31
32
~\Anaconda3\envs\spcy\lib\site-packages\spacy\util.py in load_model(name, **overrides)
164 return load_model_from_package(name, **overrides)
165 if Path(name).exists(): # path to model data directory
--> 166 return load_model_from_path(Path(name), **overrides)
167 elif hasattr(name, "exists"): # Path or Path-like to model data
168 return load_model_from_path(name, **overrides)
~\Anaconda3\envs\spcy\lib\site-packages\spacy\util.py in load_model_from_path(model_path, meta, **overrides)
194 # language subclass) while keeping top-level language identifier "lang"
195 lang = meta.get("lang_factory", meta["lang"])
--> 196 cls = get_lang_class(lang)
197 nlp = cls(meta=meta, **overrides)
198 pipeline = meta.get("pipeline", [])
~\Anaconda3\envs\spcy\lib\site-packages\spacy\util.py in get_lang_class(lang)
74 module = importlib.import_module(".lang.%s" % lang, "spacy")
75 except ImportError as err:
---> 76 raise ImportError(Errors.E048.format(lang=lang, err=err))
77 set_lang_class(lang, getattr(module, module.__all__[0]))
78 return registry.languages.get(lang)
ImportError: [E048] Can't import language stanza_el from spacy.lang: No module named 'spacy.lang.stanza_el'
The relevant part in the documentation is the following: