Spec-Zone.ru › TensorFlow

tf.lite.TFLiteConverter

Преобразует модель TensorFlow в модель TensorFlow Lite.

tf.lite.TFLiteConverter(
    funcs, trackable_obj=None
)

Используется в блокнотах

Используется в руководстве Используется в учебных материалах
  • Перенос кода TFLite на TF2
  • Анализатор моделей TensorFlow Lite
  • Пример кластеризации с сохранением при квантозависимом обучении (CQAT) в Keras
  • Пример прореживания с сохранением при квантозависимом обучении (PQAT) в Keras
  • Сигнатуры в TensorFlow Lite
  • Классификация изображений
  • Целочисленное квантование после обучения
  • Изучение ошибок квантования с помощью отладчика квантования
  • Преобразование модели Jax для TFLite
  • Квантование динамического диапазона после обучения

Пример использования:

# Converting a SavedModel to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()

# Converting a tf.Keras model to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

# Converting ConcreteFunctions to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_concrete_functions([func], model)
tflite_model = converter.convert()

# Converting a Jax model to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.experimental_from_jax(
    [func], [[ ('input1', input1), ('input2', input2)]])
tflite_model = converter.convert()
Аргументы
funcs Список ConcreteFunctions TensorFlow. Список не должен содержать повторяющихся элементов.
trackable_obj Объект tf.AutoTrackable, связанный с funcs. Необходимо сохранять ссылку на этот объект, чтобы сборщик мусора не удалил Variables, поскольку функции содержат слабую ссылку на Variables. Это требуется только в том случае, если объект tf.AutoTrackable не поддерживается пользователем (например, from_saved_model).
Атрибуты
optimizations Экспериментальный флаг, может измениться. Набор применяемых оптимизаций, например {tf.lite.Optimize.DEFAULT}. (по умолчанию None; должен быть равен None или набору значений типа tf.lite.Optimize)
representative_dataset Функция-генератор, используемая для целочисленного квантования. Каждый сгенерированный образец имеет тот же порядок, тип и форму, что и входные данные модели. Обычно это небольшая подвыборка из нескольких сотен случайным образом выбранных примеров из обучающего или оценочного набора данных, без определённого порядка. Этот атрибут необязателен, но необходим для полного целочисленного квантования, то есть если tf.int8 — единственный поддерживаемый тип в target_spec.supported_types. См. tf.lite.RepresentativeDataset. (по умолчанию None)
target_spec Экспериментальный флаг, может измениться. Спецификации целевого устройства, включая поддерживаемый набор операций, поддерживаемые типы и набор пользовательских операторов TensorFlow, необходимых в среде выполнения TensorFlow Lite. См. tf.lite.TargetSpec.
inference_input_type Тип данных входного слоя. Обратите внимание, что целочисленные типы (tf.int8 и tf.uint8) в настоящее время поддерживаются только для целочисленного квантования после обучения и квантозависимого обучения. (по умолчанию tf.float32; должен быть одним из {tf.float32, tf.int8, tf.uint8})
inference_output_type Тип данных выходного слоя. Обратите внимание, что целочисленные типы (tf.int8 и tf.uint8) в настоящее время поддерживаются только для целочисленного квантования после обучения и квантозависимого обучения. (по умолчанию tf.float32; должен быть одним из {tf.float32, tf.int8, tf.uint8})
allow_custom_ops Логическое значение, указывающее, разрешены ли пользовательские операции. Если False, любая неизвестная операция вызывает ошибку. Если True, для каждой неизвестной операции создаются пользовательские операции. Разработчик должен предоставить их среде выполнения TensorFlow Lite с помощью пользовательского resolver. (по умолчанию False)
exclude_conversion_metadata Указывает, следует ли не включать метаданные преобразования в преобразованную модель. (по умолчанию False)
experimental_new_converter Экспериментальный флаг, может измениться. Включает преобразование на основе MLIR. (по умолчанию True)
experimental_new_quantizer Экспериментальный флаг, может измениться. Включает преобразование квантования на основе MLIR вместо преобразования на основе Flatbuffer. (по умолчанию True)
experimental_enable_resource_variables Экспериментальный флаг, может измениться. Разрешает этому преобразователю преобразовывать переменные ресурсов. Это разрешено только при использовании интерфейса from_saved_model. (по умолчанию True)

Методы

convert

Посмотреть исходный код

convert()

Преобразует TensorFlow GraphDef на основе переменных экземпляра.

Возвращает
Преобразованные данные в сериализованном формате.
Вызывает исключения
ValueError Не указаны конкретные функции. Указано несколько конкретных функций. Не указана форма входных данных. Недопустимые параметры квантования.

experimental_from_jax

Посмотреть исходный код

@classmethod
experimental_from_jax(
    serving_funcs, inputs
)

Создаёт объект TFLiteConverter из модели Jax и её входных данных. (устарело)

Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: используйте jax2tf.convert и (lite.TFLiteConverter.from_saved_model или lite.TFLiteConverter.from_concrete_functions).
Аргументы
serving_funcs Массив функций Jax, к которым уже применены все веса.
inputs Список кортежей-заполнителей входных данных Jax, например jnp.zeros(INPUT_SHAPE). Каждый список кортежей должен соответствовать обслуживающей функции.
Возвращает
Объект TFLiteConverter.

from_concrete_functions

Посмотреть исходный код

@classmethod
from_concrete_functions(
    funcs, trackable_obj=None
)

Создаёт объект TFLiteConverter из ConcreteFunctions.

Аргументы
funcs Список ConcreteFunctions TensorFlow. Список не должен содержать повторяющихся элементов. В настоящее время преобразователь может преобразовать только одну ConcreteFunction. Поддержка преобразования нескольких функций находится в разработке.
trackable_obj Объект AutoTrackable (обычно tf.module), связанный с funcs. Необходимо сохранять ссылку на этот объект, чтобы сборщик мусора не удалил Variables, поскольку функции содержат слабую ссылку на Variables.
Возвращает
Объект TFLiteConverter.
Вызывает исключения
Недопустимый тип входных данных.

from_keras_model

Посмотреть исходный код

@classmethod
from_keras_model(
    model
)

Создаёт объект TFLiteConverter из модели Keras.

Аргументы
model tf.Keras.Model
Возвращает
Объект TFLiteConverter.

from_saved_model

Посмотреть исходный код

@classmethod
from_saved_model(
    saved_model_dir, signature_keys=None, tags=None
)

Создаёт объект TFLiteConverter из каталога SavedModel.

Аргументы
saved_model_dir Каталог SavedModel для преобразования.
signature_keys Список ключей, идентифицирующих SignatureDef, содержащий входные и выходные данные. Элементы не должны повторяться. По умолчанию используется атрибут signatures объекта MetaGraphdef. (по умолчанию saved_model.signatures)
tags Набор тегов, идентифицирующих MetaGraphDef в SavedModel для анализа. Должны присутствовать все теги из набора. (по умолчанию {tf.saved_model.SERVING} или {'serve'})
Возвращает
Объект TFLiteConverter.
Вызывает исключения
Недопустимые ключи сигнатур.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/lite/TFLiteConverter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API