Spec-Zone.ru › TensorFlow

tf.quantization.experimental.quantize_saved_model

Квантует SavedModel с заданными опциями квантования.

Просмотр псевдонимов

Псевдонимы для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.quantization.experimental.quantize_saved_model

tf.quantization.experimental.quantize_saved_model(
    saved_model_path: str,
    output_directory: Optional[str] = None,
    quantization_options: Optional[tf.quantization.experimental.QuantizationOptions] = None,
    representative_dataset: Optional[repr_dataset.RepresentativeDatasetOrMapping] = None,
    *,
    overwrite_output_directory: bool = False
) -> autotrackable.AutoTrackable

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

# Quantizing a model trained with QAT.
quantization_options = tf.quantization.experimental.QuantizationOptions(
    signature_keys=['your_signature_key'],
)
tf.quantization.experimental.quantize_saved_model(
    '/tmp/input_model',
    '/tmp/output_model',
    quantization_options=quantization_options,
)

# When quantizing a model trained without QAT (Post-Training Quantization),
# a representative dataset is required.
representative_dataset = [{"input": tf.random.uniform(shape=(3, 3))}
                      for _ in range(256)]
tf.quantization.experimental.quantize_saved_model(
    '/tmp/input_model',
    '/tmp/output_model',
    quantization_options=quantization_options,
    representative_dataset={'your_signature_key': representative_dataset},
  )

# In addition to preset quantization methods, fine-grained control of
# quantization for each component is also supported.
_QuantizationComponentSpec = (
    tf.quantization.experimental.QuantizationComponentSpec
)
quantization_options = tf.quantization.experimental.QuantizationOptions(
    signature_keys=['your_signature_key'],
    quantization_method=tf.quantization.experimental.QuantizationMethod(
        quantization_component_specs=[
            _QuantizationComponentSpec(
                quantization_component=(
                    _QuantizationComponentSpec.COMPONENT_ACTIVATION
                ),
                tensor_type=_QuantizationComponentSpec.TENSORTYPE_INT_8,
            )
        ]
    )
)
tf.quantization.experimental.quantize_saved_model(
    '/tmp/input_model',
    '/tmp/output_model',
    quantization_options=quantization_options,
)
Аргументы
saved_model_path Путь к сохранённой модели. Если representative_dataset не предоставлен, это должна быть модель, обученная с помощью QAT.
output_directory Путь для сохранения выходной SavedModel. Установите overwrite_output_directory в True, чтобы перезаписать любое существующее содержимое в каталоге, если он не пуст.
quantization_options Набор опций для квантования. Если None, используется статическое квантование диапазона с пост-тренингом и XLA opset по умолчанию.
representative_dataset Итератор, возвращающий словарь {input_key: input_value} или отображение от ключа подписи к словарю {input_key: input_value}, который предоставляет калибровочные данные для квантования модели. Представитель должен быть предоставлен, когда модель является PTQ моделью. Его можно предоставить либо через этот параметр, либо через поле representative_datasets в QuantizationOptions.
overwrite_output_directory Если установлено в true, перезаписывает выходной каталог, если он не пуст. Значение по умолчанию - false.
Возвращаемое значение
Объект SavedModel с применённым квантованием TensorFlow или None, если квантование не выполнено.
Исключения
ValueError Когда 1) representative_dataset не предоставлен для модели без QAT для включения статического квантования диапазона, 2) предоставлено неверное значение в качестве метода квантования или 3) предоставлены калибровочные данные как через аргумент, так и через QuantizationOptions.
ValueError Когда указанный метод квантования ещё не поддерживается.

© 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/quantization/experimental/quantize_saved_model

Spec-Zone.ru

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