Spec-Zone.ru › TensorFlow 2.9

tf.lite.TFLiteConverter

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

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

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

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

# 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 со входами.

Аргументы
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/versions/r2.9/api_docs/python/tf/lite/TFLiteConverter

Spec-Zone.ru

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