Giới thiệu
Thời gian chạy TensorFlow có các thành phần được khởi tạo một cách lười biếng, điều này có thể gây ra độ trễ cao cho/các yêu cầu đầu tiên được gửi tới mô hình sau khi mô hình được tải. Độ trễ này có thể cao hơn vài bậc so với độ trễ của một yêu cầu suy luận đơn lẻ.
Để giảm tác động của việc khởi tạo từng phần đối với độ trễ của yêu cầu, bạn có thể kích hoạt quá trình khởi tạo các hệ thống con và thành phần tại thời điểm tải mô hình bằng cách cung cấp một tập hợp mẫu các yêu cầu suy luận cùng với SavingModel. Quá trình này được gọi là "làm nóng" mô hình.
Cách sử dụng
SavingModel Warmup được hỗ trợ cho Regress, Classify, MultiInference và Predict. Để kích hoạt quá trình khởi động mô hình tại thời điểm tải, hãy đính kèm tệp dữ liệu khởi động trong thư mục con assets.extra của thư mục SavingModel.
Yêu cầu để khởi động mô hình hoạt động chính xác:
- Tên tệp khởi động: 'tf_served_warmup_requests'
- Vị trí tệp: assets.extra/
- Định dạng tệp: TFRecord với mỗi bản ghi là PredictionLog .
- Số lượng bản ghi khởi động <= 1000.
- Dữ liệu khởi động phải đại diện cho các yêu cầu suy luận được sử dụng khi phân phát.
Tạo dữ liệu khởi động
Dữ liệu khởi động có thể được thêm vào theo hai cách:
- Bằng cách điền trực tiếp các yêu cầu khởi động vào Mô hình đã lưu đã xuất của bạn. Điều này có thể được thực hiện bằng cách tạo một tập lệnh đọc danh sách các yêu cầu suy luận mẫu, chuyển đổi từng yêu cầu thành PredictionLog (nếu ban đầu nó ở định dạng khác) và sử dụng TFRecordWriter để ghi các mục nhập PredictionLog vào
YourSavedModel/assets.extra/tf_serving_warmup_requests
. - Bằng cách sử dụng tùy chọn Trình xác thực hồng ngoại TFX để xuất Mô hình đã lưu với phần khởi động . Với tùy chọn này, Trình xác thực Infa TFX sẽ điền
YourSavedModel/assets.extra/tf_serving_warmup_requests
dựa trên các yêu cầu xác thực được cung cấp quaRequestSpec .