Spec-Zone.ru › TensorFlow

tf.lite.TFLiteConverter

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

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

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

Используется в руководстве Используется в учебниках
  • Миграция вашего кода TFLite в TF2
  • Анализатор моделей TensorFlow Lite
  • Пример CQAT (Cluster Preserving Quantization Aware Training) Keras
  • Пример PQAT (Pruning Preserving Quantization Aware Training) 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 Список TensorFlow ConcreteFunctions. Список не должен содержать дубликатов.
trackable_obj Объект tf.AutoTrackable, связанный с funcs. Ссылка на этот объект должна быть сохранена, чтобы переменные не были удалены сборщиком мусора, так как функции имеют слабую ссылку на переменные. Это требуется только тогда, когда объект 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 с пользовательским анализатором. (по умолчанию 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 Список TensorFlow ConcreteFunctions. Список не должен содержать дубликатов. В настоящее время преобразователь может преобразовывать только одну ConcreteFunction. Преобразование нескольких функций находится в разработке.
trackable_obj Объект AutoTrackable (обычно tf.module), связанный с funcs. Ссылка на этот объект должна быть сохранена, чтобы переменные не были удалены сборщиком мусора, так как функции имеют слабую ссылку на переменные.
Возвращает
Объект 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