Как развернуть огромные зависимости Python и модель ML в AWS Lambda - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь развернуть алгоритм классификации изображений на лямбда-AWS, и мой размер сборки составляет 390 МБ, что превышает верхний предел в 250 МБ даже при загрузке сегмента S3. Причина такого большого размера: OpenCV (120 МБ), модель Checkpoint (112 МБ) и еще одна Caffemodel (125 МБ)

Ниже мой вопрос:

  1. Как справиться с таким сценарием, когда нам нужно развернуть сценарии с такими зависимостями, как OpenCV и т. Д. Есть ли способ справиться с ситуациями, которые хуже, например, 1 ГБ размера zip

1 Ответ

0 голосов
/ 26 октября 2018

Можете ли вы сделать так, чтобы ваш скрипт копировал зависимости из корзины s3? У вас есть 512 МБ / тп. Возможно, вы захотите сделать это вне вашей функции, потенциально обернутой некоторой логикой, чтобы это происходило только один раз за жизненный цикл контейнера, а не при каждом вызове. Вам нужно будет нажать импорт после копирования файла в сценарии.

, например

if not {OpenCV installed}:
    {Use boto to copy files from S3}

import /tmp/OpenCV

def handler(event, context):
    {Your script}

В текущем мире AWS, когда вы превышаете этот порог в 512 МБ, вам, возможно, придется перейти на что-то вроде FarGate вместо Lambda.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...