Размещение модели word2vec с помощью gensim на AWS lambda
с использованием python 2.7 boto == 2.48.0 gensim == 3.4.0
, и у меня есть несколько строк в моей функции.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)
, получая загадочную ошибку без особых подробностей:
в облакея могу видеть все мои печатные сообщения до '################### получил ключ ...' включительно, затем я получаю:
START RequestId: {req_id} Version: $LATEST
затемсразу после этого [нет задержек между этими двумя сообщениями]
module initialization error: __exit__
пожалуйста, есть ли способ получить подробную ошибку или дополнительную информацию?
Дополнительные сведения: Я смогзагрузите модель из s3 в / tmp /, и она действительно авторизовала и извлекла файл модели, но она вышла за пределы [файл равен ~ 2 ГБ, / tmp / равен 512 МБ]
, поэтому переключился на прямую загрузкуМодель Gensim, как указано выше, и теперь получает эту загадочную ошибку.
Запуск функции с python-lambda-local работает без проблем
итак, это, вероятно, сужает проблему с умным открытием gensim или aws lambda, буду благодарен за любые подсказки, спасибо!