Как я могу загрузить стороннюю модель ML в функцию без сервера - PullRequest
1 голос
/ 04 мая 2019

Я построил модель ML (с использованием модуля sklearn), и хочу предоставить ей прогнозы с помощью AWS API Gateway + лямбда-функция.

Мои проблемы:

  1. Я не могу установить sklearn + numpy и т. Д. Из-за ограничений по объему лямбды.(размер пакета превышает 140 МБ)
  2. Может быть, это глупый вопрос, но знаете ли вы, если есть лучшие способы выполнить эту задачу?

Я пробовал этот урок, чтобы уменьшить размер пачки.Однако возникает исключение из-за флага --use-wheel.

https://serverlesscode.com/post/scikitlearn-with-amazon-linux-container/

    bucket = s3.Bucket(os.environ['BUCKET'])
    model_stream = bucket.Object(os.environ['MODEL_NAME'])
    model = pickle.loads(model_stream)
    model.predict(z_features)[0]

Где z_features - мои функции после использования скаляра

1 Ответ

0 голосов
/ 04 мая 2019

Просто разберитесь!

Решение в основном стоит над лямбда-слоями AWS.

Я создал слой sklearn, который содержит только соответствующие скомпилированные библиотеки.Затем я запускаю sls package, чтобы упаковать пакет, содержащий эти файлы, вместе с моим собственным кодом handler.py.

Последним шагом было запустить sls deploy --package .serverless

Надеюсь, что 'буду помогать другим.

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