Я читаю статьи, связанные с 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.
Я могу предложить такие меры, как регулярный автоматический вызов и постоянный прогрев, но это не очень хорошая идея. Есть ли другое хорошее решение?