2017-12-19 22 views
0

AWS Lambdaで動作するSpaCy 2.0を入手した人はいますか?私はそれをテストすれば私のラムダ関数から戻ってくる一般的な文字列を得ることができるので、私はすべてが圧縮され、正しくパッケージ化されている。しかし、以下の簡単な関数をテストすると、約10秒間ストールしてから空に戻り、エラーメッセージは表示されません。私はラムダのタイムアウトを60秒に設定したので、それは問題ではありません。AWS LambdaにSpaCyモデルがロードされない

import spacy 

nlp = spacy.load('en_core_web_sm') #model package included 

def lambda_handler(event, context): 
    doc = nlp(u'They are') 
    msg = doc[0].lemma_ 
    return msg 

私はそれを使用しなくてもモデルパッケージをロードすると、それはまた、空を返しますが、私はそれをコメントアウトする場合に予想されるとして、それは私に文字列を送信し、それはモデルのロードについて何かなければなりません。

import spacy 

nlp = spacy.load('en_core_web_sm') #model package included 

def lambda_handler(event, context): 
    msg = 'message returned' 
    return msg 

答えて

2

これはおそらく単純なものになるはずです。その答えは、ラムダ関数を実行するのに十分なメモリが割り当てられていないことです。上の例を動作させるには、最大2816 MB近くに最小限に増やす必要があります。私はより多くのテキスト、すべてを処理するために3008メガバイトの最大にそれを回し

https://aws.amazon.com/about-aws/whats-new/2017/11/aws-lambda-doubles-maximum-memory-capacity-for-lambda-functions/

今だけ正常に動作するようです:先月までにはこれがハイにすることができなかったことは注目に値します。

+0

AWS Lambdaにspacyモジュールをインストールする方法を教えてください。 – iksnae

+0

EC2のAmazon AMIインスタンスにインストールした後、パッケージと依存関係をラムダ機能付きローカルデプロイメントパッケージにコピーし、展開用に圧縮しました(https://docs.aws.amazon.com/lambda/latest/dg /lambda-python-how-to-create-deployment-package.html) – pynewb

関連する問題