Развертывание функций Python, которые компилируются через Numba, на облачной платформе Google: состояние должно поддержи ⇐ Python
Развертывание функций Python, которые компилируются через Numba, на облачной платформе Google: состояние должно поддержи
Я делаю прогнозы временных рядов для нескольких продуктов, используя библиотеку StatsForecast от Nixtla. Это блестящая библиотека. Его наиболее привлекательной особенностью является скорость и надежность сценария autoARIMA. Согласно документации, своей скоростью он обязан базовым функциям, использующим Numba для компиляции функций Python.
Он выполняет прогнозы с обещанной скоростью на моем локальном компьютере. Однако я развернул тот же сценарий для функции Google Cloud 2-го поколения, где очевидно, что autoARIMA компилируется при каждом ее вызове.
Насколько мне известно, это связано с тем, что безсерверная природа Google Cloud Functions не позволяет функции поддерживать состояние. Таким образом, он никогда не будет поддерживать скомпилированное состояние.
Мне нужен самый простой подход для развертывания сценария на платформе Google Cloud, чтобы функция autoARIMA могла скомпилироваться. Другими словами, мне нужен самый простой способ сохранить состояние функции. Мое предложение — использовать запланированную виртуальную машину (ВМ) из Compute Engine. Я считаю, что он должен сохранять состояние и позволять функции компилировать только одно.
Проверьте, сработает ли такой подход, поделитесь аналогичным опытом и предложите решения, которые лучше текущего предложения.
РЕДАКТИРОВАТЬ:
Подход с использованием виртуальных машин определенно сработает. Однако я рассматриваю разные подходы. Кажется, что можно кэшировать скомпилированные функции, как описано здесь. Поэтому для облачной функции я мог бы использовать внешнюю службу кэширования, например Redis или Memcached. Накладные расходы на вызов API к такому клиенту кэша могут привести к тому, что время выполнения не улучшится. Другой подход может заключаться в сериализации скомпилированной функции и импорте ее из облачного хранилища.
Я делаю прогнозы временных рядов для нескольких продуктов, используя библиотеку StatsForecast от Nixtla. Это блестящая библиотека. Его наиболее привлекательной особенностью является скорость и надежность сценария autoARIMA. Согласно документации, своей скоростью он обязан базовым функциям, использующим Numba для компиляции функций Python.
Он выполняет прогнозы с обещанной скоростью на моем локальном компьютере. Однако я развернул тот же сценарий для функции Google Cloud 2-го поколения, где очевидно, что autoARIMA компилируется при каждом ее вызове.
Насколько мне известно, это связано с тем, что безсерверная природа Google Cloud Functions не позволяет функции поддерживать состояние. Таким образом, он никогда не будет поддерживать скомпилированное состояние.
Мне нужен самый простой подход для развертывания сценария на платформе Google Cloud, чтобы функция autoARIMA могла скомпилироваться. Другими словами, мне нужен самый простой способ сохранить состояние функции. Мое предложение — использовать запланированную виртуальную машину (ВМ) из Compute Engine. Я считаю, что он должен сохранять состояние и позволять функции компилировать только одно.
Проверьте, сработает ли такой подход, поделитесь аналогичным опытом и предложите решения, которые лучше текущего предложения.
РЕДАКТИРОВАТЬ:
Подход с использованием виртуальных машин определенно сработает. Однако я рассматриваю разные подходы. Кажется, что можно кэшировать скомпилированные функции, как описано здесь. Поэтому для облачной функции я мог бы использовать внешнюю службу кэширования, например Redis или Memcached. Накладные расходы на вызов API к такому клиенту кэша могут привести к тому, что время выполнения не улучшится. Другой подход может заключаться в сериализации скомпилированной функции и импорте ее из облачного хранилища.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу из Jitted-функции Numba вызвать другую Jit-функцию Numba с указателем?
Anonymous » » в форуме Python - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу из Jitted-функции Numba вызвать другую Jit-функцию Numba с указателем?
Anonymous » » в форуме Python - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-