Метод from_saved_model класса TFLiteConverter
Метод from_saved_model класса TFLiteConverter создает экземпляр конвертера
на основе модели, сохраненной в формате SavedModel. Первым параметром метод принимает
путь к директории с сохраненной моделью. Вторым параметром можно передать список
конкретных функций модели, которые нужно конвертировать. Третьим параметром задаются
дополнительные параметры конвертации. Полученный конвертер затем используется для
преобразования модели в формат TensorFlow Lite с помощью метода convert.
Синтаксис
TFLiteConverter.from_saved_model(
saved_model_dir,
[signature_keys],
[**kwargs]
)
Пример
Давайте создадим простую модель Keras, сохраним ее в формате SavedModel,
а затем загрузим через метод from_saved_model:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(5,)),
tf.keras.layers.Dense(1)
])
model.save('model.keras')
tf.saved_model.save(model, 'saved_model_dir')
converter = tf.lite.TFLiteConverter.from_saved_model('saved_model_dir')
print(type(converter).__name__)
Результат выполнения кода:
"TFLiteConverter"
Пример
Давайте преобразуем модель в формат TensorFlow Lite и выведем размер полученного файла:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(5,)),
tf.keras.layers.Dense(1)
])
tf.saved_model.save(model, 'saved_model_dir')
converter = tf.lite.TFLiteConverter.from_saved_model('saved_model_dir')
tflite_model = converter.convert()
print(len(tflite_model))
Результат выполнения кода:
1320
Пример
Давайте применим оптимизацию при конвертации модели:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(5,)),
tf.keras.layers.Dense(1)
])
tf.saved_model.save(model, 'saved_model_dir')
converter = tf.lite.TFLiteConverter.from_saved_model('saved_model_dir')
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
print(len(tflite_model))
Результат выполнения кода:
1304
Смотрите также
-
класс
TFLiteConverter,
который конвертирует модели в формат TensorFlow Lite -
метод
from_keras_model,
который создает конвертер из модели Keras -
метод
from_concrete_functions,
который создает конвертер из конкретных функций -
метод
convert,
который выполняет конвертацию модели в формат TensorFlow Lite