AWS Lambda Boto gensim model module initialization error: __exit__
AWS Lambda Boto gensim model module initialization error: __exit__
在 AWS lambda 上使用 gensim 托管一个 word2vec 模型
使用python 2.7
boto==2.48.0
gensim==3.4.0
我的 function.py 文件中有几行直接从 s3
加载模型
print('################### connecting to s3...')
s3_conn = boto.s3.connect_to_region(
region,
aws_access_key_id = Aws_access_key_id,
aws_secret_access_key = Aws_secret_access_key,
is_secure = True,
calling_format = OrdinaryCallingFormat()
)
print('################### connected to s3...')
bucket = s3_conn.get_bucket(S3_BUCKET)
print('################### got bucket...')
key = bucket.get_key(S3_KEY)
print('################### got key...')
model = KeyedVectors.load_word2vec_format(key, binary=True)
print('################### loaded model...')
在模型加载线上
model = KeyedVectors.load_word2vec_format(key, binary=True)
收到一个没有太多细节的神秘错误:
在云手表上可以看到我所有的打印消息直到'################### got key...'包括在内,
然后我得到:
START RequestId: {req_id} Version: $LATEST
紧接着[这两条消息之间没有时间延迟]
module initialization error: __exit__
请问,有没有办法获得详细的错误或更多信息?
更多背景详情:
我能够将模型从 s3 下载到 /tmp/,它确实授权并检索了模型文件,但是它超出了 space [文件是 ~2GB,/tmp/ 是 512MB]
所以,切换到直接通过 gensim 加载模型,现在出现那个神秘的错误。
运行 使用 python-lambda-local 的函数可以正常工作
所以,这可能会缩小到 gensim 的智能打开或 aws lambda 的问题,希望得到任何提示,谢谢!
而不是使用 boto 连接,
简单地:
model = KeyedVectors.load_word2vec_format('s3://{}:{}@{}/{}'.format(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, S3_BUCKET, S3_KEY), binary=True)
成功了!
但当然,不幸的是,它没有回答为什么会出现神秘的 exit 错误以及如何获取更多信息的问题:/
在 AWS lambda 上使用 gensim 托管一个 word2vec 模型
使用python 2.7 boto==2.48.0 gensim==3.4.0
我的 function.py 文件中有几行直接从 s3
加载模型print('################### connecting to s3...')
s3_conn = boto.s3.connect_to_region(
region,
aws_access_key_id = Aws_access_key_id,
aws_secret_access_key = Aws_secret_access_key,
is_secure = True,
calling_format = OrdinaryCallingFormat()
)
print('################### connected to s3...')
bucket = s3_conn.get_bucket(S3_BUCKET)
print('################### got bucket...')
key = bucket.get_key(S3_KEY)
print('################### got key...')
model = KeyedVectors.load_word2vec_format(key, binary=True)
print('################### loaded model...')
在模型加载线上
model = KeyedVectors.load_word2vec_format(key, binary=True)
收到一个没有太多细节的神秘错误:
在云手表上可以看到我所有的打印消息直到'################### got key...'包括在内, 然后我得到:
START RequestId: {req_id} Version: $LATEST
紧接着[这两条消息之间没有时间延迟]
module initialization error: __exit__
请问,有没有办法获得详细的错误或更多信息?
更多背景详情: 我能够将模型从 s3 下载到 /tmp/,它确实授权并检索了模型文件,但是它超出了 space [文件是 ~2GB,/tmp/ 是 512MB]
所以,切换到直接通过 gensim 加载模型,现在出现那个神秘的错误。
运行 使用 python-lambda-local 的函数可以正常工作
所以,这可能会缩小到 gensim 的智能打开或 aws lambda 的问题,希望得到任何提示,谢谢!
而不是使用 boto 连接, 简单地:
model = KeyedVectors.load_word2vec_format('s3://{}:{}@{}/{}'.format(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, S3_BUCKET, S3_KEY), binary=True)
成功了!
但当然,不幸的是,它没有回答为什么会出现神秘的 exit 错误以及如何获取更多信息的问题:/