Введение
Среда выполнения TensorFlow содержит компоненты, которые инициализируются лениво, что может привести к высокой задержке для первых запросов, отправленных в модель после ее загрузки. Эта задержка может быть на несколько порядков выше, чем у одного запроса вывода.
Чтобы уменьшить влияние отложенной инициализации на задержку запроса, можно инициировать инициализацию подсистем и компонентов во время загрузки модели, предоставив образец набора запросов вывода вместе с SavedModel. Этот процесс известен как «прогрев» модели.
Применение
Разминка SavedModel поддерживается для Regress, Classify, MultiInference и Predict. Чтобы запустить прогрев модели во время загрузки, прикрепите файл данных прогрева в подпапке assets.extra каталога SavedModel.
Требования для корректной работы прогрева модели:
- Имя файла разминки: 'tf_serving_warmup_requests'
- Расположение файла: assets.extra/
- Формат файла: TFRecord с каждой записью в виде PredictionLog .
- Количество записей разминки <= 1000.
- Данные прогрева должны быть репрезентативными для запросов вывода, используемых при обслуживании.
Генерация данных для разминки
Данные разминки можно добавить двумя способами:
- Путем непосредственного заполнения запросов на разминку в экспортированную сохраненную модель. Это можно сделать, создав сценарий, читающий список примеров запросов на вывод, преобразующий каждый запрос в PredictionLog (если он изначально имеет другой формат) и используя TFRecordWriter для записи записей PredictionLog в
YourSavedModel/assets.extra/tf_serving_warmup_requests
. - Используя опцию TFX Infra Validator для экспорта сохраненной модели с прогревом . При использовании этой опции валидатор TFX Infa будет заполнять
YourSavedModel/assets.extra/tf_serving_warmup_requests
на основе запросов проверки, предоставленных через RequestSpec .