Импорт библиотек в AWS лямбда-код функции из корзины S3 - PullRequest
2 голосов
/ 14 января 2020

Мне нужно развернуть модель глубокого обучения на AWS Lambda, которая выполняет обнаружение объектов. Он запускается при добавлении изображения в корзину S3. Проблема, с которой я сталкиваюсь, заключается в том, что код функции Lambda использует множество библиотек, таких как Tensorflow, PIL, Numpy, Matplotlib и др. c. и если я пытаюсь добавить их все в код функции или в виде слоев, он превышает ограничение размера 250 МБ. Можно ли как-нибудь развернуть zip-файл библиотек в корзине S3 и использовать их оттуда в коде функции (записанном в Python 3.6) вместо непосредственного использования в качестве части кода? Я также могу попробовать совершенно другой подход к этому.

Ответы [ 3 ]

1 голос
/ 14 января 2020

Попробуйте скомпилированные пакеты для Tensorflow, они около 50 МБ, вам, вероятно, будет достаточно места для остальных модулей, которые вам нужны. И вообще, проверьте AWS рекомендации о подходах к архитектуре глубокого обучения.

1 голос
/ 14 января 2020

Мне кажется, что Amazon SageMaker будет лучшим выбором для вашей задачи.

Вы можете создать модель и разместить ее на конечной точке через SageMaker. Используйте лямбда-функцию, запускаемую вашей загрузкой s3, чтобы передать изображение в конечную точку SageMaker и обработать результат.

Amazon SageMaker - это полностью управляемый сервис, который предоставляет каждому разработчику и специалисту по данным возможность быстро создавать, обучать и развертывать модели машинного обучения (ML). SageMaker снимает тяжелую работу с каждого этапа процесса машинного обучения, чтобы упростить разработку высококачественных моделей.

https://aws.amazon.com/sagemaker/

0 голосов
/ 24 января 2020

В конечном итоге я изменил свой подход с использования лямбды на использование EC2. Я развернул весь код с библиотеками на экземпляре EC2, а затем запустил его с помощью Lambda. На EC2 его также можно развернуть на сервере Apache для изменения сопоставления портов.

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