Как загрузить сохраненную модель Tensorflow в кэш-память для более быстрой загрузки в следующий раз?

#python #tensorflow #machine-learning #caching #tensorflow2.0

Вопрос:

Каждый раз для загрузки сохраненной модели Tensorflow в мой процессор требуется около 1 минуты. Однако я хочу сократить время. Я попытался кэшировать модель, но она выдает следующую ошибку.

 File "C:Usersmanojk.kovvuruAnaconda3envscqlibsite-packagestensorflowpythoneagerfunction.py", line 2871, in _convert_inputs_to_signature
    format_error_message(inputs, input_signature))
ValueError: Structure of Python function inputs does not match input_signature:
  inputs: (
    )
  input_signature: (
    TensorSpec(shape=(1, None, None, 3), dtype=tf.uint8, name='input_tensor'))
 

Код:

 import functools

class TFObjectDetector():
  
  # Constructor
  def __init__(self, path_to_model_dir = r'./models/object_detection_model',
               path_to_labels = r'./models/object_detection_model/label_map.pbtxt'):
    print('initiating tf object detector')
    self.path_to_model_dir = path_to_model_dir
    self.path_to_labels = path_to_labels
    self.model = self.load_model()

  @property
  @functools.lru_cache(maxsize=128, typed=False)
  def load_model(self):
    print('Loading model...', end='')
    start_time = time.time()

    # Load saved model and build the detection function
    self.model = tf.saved_model.load(self.path_to_model_dir   "/saved_model")

    end_time = time.time()
    elapsed_time = end_time - start_time
    print('Done! Took {} seconds'.format(elapsed_time))
    return self.model

 

версия tensorflow: 2.6,
версия python: 3.7

Также приветствуются другие способы сокращения времени загрузки.

Комментарии:

1. Помогает ли вам эта ссылка решить этот запрос?