2017-12-19 8 views
0

AWS 람다에서 작동하도록 SpaCy 2.0을받은 사람이 있습니까? 내가 테스트 한다면 내 람다 함수에서 반환하는 일반 문자열을 얻을 수 있기 때문에 나는 모든 것을 압축하고 올바르게 패키징했습니다. 하지만 아래의 간단한 기능을 테스트 할 때 약 10 초 동안 멈춘 다음 빈 상태로 돌아오고 오류 메시지는 표시되지 않습니다. 나는 문제가되지 않도록 60 초에 람다 타임 아웃을 설정했다.AWS 람다에서 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

아마도 단순한 것으로 알고 있습니다. 대답은 람다 함수를 실행하기 위해 할당 된 메모리가 충분하지 않다는 것입니다. 위의 예제를 작동시키기 위해 최대 2816MB 가까이로 최소한 증가시켜야한다는 것을 알았습니다. 지난 달 전에이 높은 갈 수 없었다 주목할 만하다 :

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

나는 더 많은 텍스트를 처리하는 3,008메가바이트의 최대에 그것을 설정하고 모든 것을 지금은 잘 작동하는 것 같다.

+0

AWS Lambda에 spacy 모듈을 설치하는 방법은 무엇입니까? – iksnae

+0

EC2의 Amazon AMI 인스턴스에 설치 한 다음 패키지 및 종속성을 lambda 기능을 사용하는 로컬 배포 패키지에 복사하고 배포 용으로 압축합니다 (https://docs.aws.amazon.com/lambda/latest/dg). /lambda-python-how-to-create-deployment-package.html) – pynewb

관련 문제