Zapisano rozgrzewkę modelu

Wstęp

Środowisko wykonawcze TensorFlow zawiera komponenty, które są inicjowane z opóźnieniem, co może powodować duże opóźnienia w przypadku pierwszych żądań wysyłanych do modelu po jego załadowaniu. To opóźnienie może być o kilka rzędów wielkości większe niż w przypadku pojedynczego żądania wnioskowania.

Aby zmniejszyć wpływ leniwej inicjalizacji na opóźnienie żądania, możliwe jest wyzwolenie inicjalizacji podsystemów i komponentów w czasie ładowania modelu, dostarczając przykładowy zestaw żądań wnioskowania wraz z SavedModel. Proces ten nazywany jest „rozgrzewaniem” modelu.

Stosowanie

Rozgrzewka SavedModel jest obsługiwana dla funkcji Regress, Classify, MultiInference i Predict. Aby uruchomić rozgrzewanie modelu w czasie ładowania, załącz plik danych rozgrzewania w podfolderze Assets.extra katalogu SavedModel.

Wymagania aby rozgrzewka modelu działała poprawnie:

  • Nazwa pliku rozgrzewki: „tf_serving_warmup_requests”
  • Lokalizacja pliku: aktywa.extra/
  • Format pliku: TFRecord z każdym rekordem jako PredictionLog .
  • Liczba zapisów rozgrzewki <= 1000.
  • Dane rozgrzewkowe muszą być reprezentatywne dla żądań wnioskowania używanych podczas wyświetlania.

Generowanie danych na rozgrzewkę

Dane rozgrzewkowe można dodać na dwa sposoby:

  • Bezpośrednio wypełniając żądania rozgrzewki w wyeksportowanym zapisanym modelu. Można to zrobić, tworząc skrypt odczytujący listę przykładowych żądań wnioskowania, konwertując każde żądanie do PredictionLog (jeśli pierwotnie było w innym formacie) i używając TFRecordWriter do zapisywania wpisów PredictionLog do YourSavedModel/assets.extra/tf_serving_warmup_requests .
  • Używając opcji TFX Infra Validator do eksportu zapisanego modelu z rozgrzewką . Dzięki tej opcji TFX Infa Validator zapełni YourSavedModel/assets.extra/tf_serving_warmup_requests na podstawie żądań walidacji dostarczonych przez RequestSpec .