web-dev-qa-db-ja.com

Google Colabでスペイシーモデル 'en_core_web_lg'をロードできません

Google colabでスペイシーを使用して、次を使用してspaCy 'en_core_web_lg'モデルをダウンロードしたNERモデルを構築しています

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

そして私は言っているメッセージを受け取ります

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

ただし、モデルをロードしようとすると

    nlp = spacy.load('en_core_web_lg')

次のエラーが出力されます。

    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.

誰かがこの問題を助けてくれますか?

10
Jithin P James

Python 3カーネルを使用するコラボでは、すべてを1つのセルで実行するように設定する必要があります(少し時間がかかりますが、spacy.cliとは異なり、進行状況について視覚的なフィードバックを提供します)

!python -m spacy download en_core_web_lg

次に、colabランタイムを再起動

(これを行うには、colabメニューで、[ランタイム]> [ランタイムの再起動...]を選択します)。

その後、実行

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

は正常に動作するはずです(2019年後半でも私にとってはうまくいきます)。

16
Davide Fiocco

Google Colab Notebooksでは、 モデルをパッケージとしてインポート する必要があります。

ただし、モデルをダウンロードしてインストールします。

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

colabで通常のスペイシー使用法でモデルをロードする権限がありません:

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()

代わりに、modelをインポートして直接ロードします。

import en_core_sci_lg
nlp = en_core_sci_lg.load()

次に、指示どおりに使用します。

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

私はグーグルコラボで同様の問題に遭遇しました:

nlp = spacy.load('en_core_web_md') 

モデルのサイズと関係があるのではないかと思います。それは小さなスペイシーモデルを使用して私のために働いた。

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

最良の答えはこのスレッドにあるようです: 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