تم الحفظ نموذج الإحماء

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

مقدمة

يحتوي وقت تشغيل TensorFlow على مكونات تمت تهيئتها ببطء ، مما قد يتسبب في زمن انتقال مرتفع للطلب / الطلبات الأولى التي يتم إرسالها إلى النموذج بعد تحميله. يمكن أن يكون وقت الاستجابة هذا أعلى بعدة مرات من طلب الاستدلال الفردي.

لتقليل تأثير التهيئة البطيئة على زمن انتقال الطلب ، من الممكن بدء تهيئة الأنظمة الفرعية والمكونات في وقت تحميل النموذج من خلال توفير مجموعة عينة من طلبات الاستدلال جنبًا إلى جنب مع SavedModel. تُعرف هذه العملية باسم "إحماء" النموذج.

إستعمال

SavedModel Warmup مدعوم للتراجع والتصنيف والاستدلالات المتعددة والتنبؤ. لبدء إحماء النموذج في وقت التحميل ، قم بإرفاق ملف بيانات الإحماء ضمن المجلد الفرعي الأصول.

متطلبات إحماء النموذج للعمل بشكل صحيح:

  • اسم ملف الإحماء: "tf_serving_warmup_requests"
  • موقع الملف: plants.extra /
  • تنسيق الملف: TFRecord مع كل سجل على أنه PredictionLog .
  • عدد تسجيلات الإحماء <= 1000.
  • يجب أن تكون بيانات الإحماء ممثلة لطلبات الاستدلال المستخدمة في التقديم.

مثال على مقتطف رمز ينتج بيانات إحماء:

import tensorflow as tf
from tensorflow_serving.apis import classification_pb2
from tensorflow_serving.apis import inference_pb2
from tensorflow_serving.apis import model_pb2
from tensorflow_serving.apis import predict_pb2
from tensorflow_serving.apis import prediction_log_pb2
from tensorflow_serving.apis import regression_pb2

def main():
    with tf.io.TFRecordWriter("tf_serving_warmup_requests") as writer:
        # replace <request> with one of:
        # predict_pb2.PredictRequest(..)
        # classification_pb2.ClassificationRequest(..)
        # regression_pb2.RegressionRequest(..)
        # inference_pb2.MultiInferenceRequest(..)
        log = prediction_log_pb2.PredictionLog(
            predict_log=prediction_log_pb2.PredictLog(request=<request>))
        writer.write(log.SerializeToString())

if __name__ == "__main__":
    main()