Есть ли хороший способ запустить Tensorflow на облачных функциях? Особенно когда вызывается иногда - PullRequest
0 голосов
/ 02 ноября 2019

Я читаю статьи, связанные с TensorFlow2.0

https://cloud.google.com/blog/products/ai-machine-learning/how-to-serve-deep-learning-models-using-tensorflow-2-0-with-cloud-functions

и настраиваю программу для выполнения вывода с использованием TensorFlow2.0 в среде Google Cloud Functions (Python).

Однако я заметил, что потребуется много времени, чтобы запустить функцию из состояния, в котором не было вызова в течение примерно половины дня.

Я проверил и обнаружил, что трудоемкая часть былаимпортная часть TensorFlow. Приблизительно 20 секунд потребляется. В тестируемом коде оно оценивается примерно в 20 секунд с момента, когда была выведена функция печати. ​​

import logging
print('imported:logging')
import numpy as np
print('imported:numpy')
import tensorflow as tf
print('imported:tensorflow')

Это означает, что, если у меня небольшое количество пользователей, например при запуске новогоуслуга, первый звонящий в течение определенного периода может тайм-аут или потребовать много времени ожидания. Это особенно верно для сервисов с дополнительными функциями, связанными с AI.

Я могу предложить такие меры, как регулярный автоматический вызов и постоянный прогрев, но это не очень хорошая идея. Есть ли другое хорошее решение?

1 Ответ

1 голос
/ 02 ноября 2019

Я предлагаю вам 2 решения для повышения производительности

  • Либо используйте функцию с 2 ГБ памяти (если это еще не так) для обеспечения максимальной скорости vCPU (2,4 ГГц) и попыткиувеличить производительность, как это. (В учебном примере было установлено 2 Гб памяти, это было на всякий случай, когда вы это изменили)
  • Оберните вашу функцию handler(request) в простой сервер Flask, разверните ее в стандарте App Engine с помощью разминкаконечная точка . Вы можете держать свой экземпляр всегда в курсе. При автоматическом выкачивании у вас есть 28 бесплатных часов работы в день . Если у вас мало запросов, будет запущен только 1 экземпляр, и вы ничего не будете платить за услугу прогнозирования с низкой задержкой.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...