问题
I am using spacy in google colab to build an NER model for which I have downloaded the spaCy 'en_core_web_lg' model using
import spacy.cli
spacy.cli.download("en_core_web_lg")
and I get a message saying
✔ Download and installation successful
You can now load the model via spacy.load('en_core_web_lg')
However then when i try to load the model
nlp = spacy.load('en_core_web_lg')
the following error is printed:
OSError: [E050] Can't find model 'en_core_web_lg'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
Could anyone help me with this problem?
回答1:
On colab using a Python 3 kernel, you should be all set with running in one cell (takes a while, but gives you visual feedback about progress, differently from spacy.cli)
!python -m spacy download en_core_web_lg
Then, restart the colab runtime (to do this in the colab menu, go for Runtime > Restart runtime...).
After that, executing
import spacy
nlp = spacy.load('en_core_web_lg')
should work flawlessly.
回答2:
In Google Colab Notebooks, you should import the model as a package
However you download and install the model:
!pip install en_core_sci_md
!pip install <model_s3_url>
import spacy, scispacy
You don't have permission in Colab to load the model with normal spacy usage:
nlp = spacy.load("en_core_sci_md") # not via packages
nlp = spacy.load("/path/to/en_core_sci_md") #not via paths
nlp = spacy.load("en") # nor via shortcut links
spacy.load()
Instead, import the model and load it directly:
import en_core_sci_md
nlp = en_core_sci_md.load()
Then use as directed:
doc = nlp("This is a sentence. Soon, it will be knowledge.")
回答3:
I ran into a similar issue on google colab with:
nlp = spacy.load('en_core_web_md')
I suspect it may have something to do with the size of the model. It worked for me using the small spacy model.
spacy download en_core_web_sm
nlp = spacy.load('en_core_web_sm')
来源:https://stackoverflow.com/questions/56927602/unable-to-load-the-spacy-model-en-core-web-lg-on-google-colab