web-dev-qa-db-fra.com

Impossible de charger le modèle spacy 'en_core_web_lg' sur Google colab

J'utilise spacy dans google colab pour construire un modèle NER pour lequel j'ai téléchargé le modèle spaCy 'en_core_web_lg' en utilisant

    import spacy.cli
    spacy.cli.download("en_core_web_lg")

et je reçois un message disant

    ✔ Download and installation successful
    You can now load the model via spacy.load('en_core_web_lg')

Mais quand j'essaye de charger le modèle

    nlp = spacy.load('en_core_web_lg')

l'erreur suivante est imprimée:

    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.

Quelqu'un pourrait-il m'aider avec ce problème?

10
Jithin P James

Sur colab en utilisant un noyau Python 3, vous devriez être prêt à exécuter dans une seule cellule (prend un certain temps, mais vous donne un retour visuel sur la progression, différemment de spacy.cli)

!python -m spacy download en_core_web_lg

Ensuite, redémarrez le runtime colab!

(pour ce faire dans le menu colab, optez pour Runtime> Redémarrer le runtime ...).

Après cela, l'exécution

import spacy
nlp = spacy.load('en_core_web_lg')

devrait fonctionner sans problème (cela fonctionne toujours pour moi fin 2019).

16
Davide Fiocco

Dans Google Colab Notebooks, vous devez importer le modèle sous forme de package .

Cependant, vous téléchargez et installez le modèle:

!pip install en_core_sci_lg
!pip install <model_s3_url>
import spacy, scispacy

vous n'avez pas la permission dans Colab de charger le modèle avec une utilisation spacy normale:

nlp = spacy.load("en_core_sci_lg") # not via packages
nlp = spacy.load("/path/to/en_core_sci_lg") #not via paths
nlp = spacy.load("en") # nor via shortcut links
spacy.load()

Au lieu de cela, importez le modèle et chargez-le directement:

import en_core_sci_lg
nlp = en_core_sci_lg.load()

Ensuite, utilisez comme indiqué:

doc = nlp("This is a sentence. Soon, it will be knowledge.")
8
Briggsly

J'ai rencontré un problème similaire sur google colab avec:

nlp = spacy.load('en_core_web_md') 

Je soupçonne que cela peut avoir quelque chose à voir avec la taille du modèle. Cela a fonctionné pour moi en utilisant le petit modèle Spacy.

spacy download en_core_web_sm
nlp = spacy.load('en_core_web_sm')
1
Lesa Wright

Il semble que la meilleure réponse se trouve sur ce fil: Comment installer des modèles/télécharger des packages sur Google Colab?

import spacy.cli
spacy.cli.download("en_core_web_lg")
import en_core_web_lg
nlp = en_core_web_lg.load()
1
GoPackGo