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.
representative_dataset Итератор, возвращающий словарь {input_key: input_value} или отображение ключа сигнатуры в словарь {input_key: input_value}, который предоставляет данные калибровки для квантования модели. Для модели PTQ необходимо указать representative_dataset. Его можно передать либо через этот параметр, либо через поле representative_datasets в QuantizationOptions.
overwrite_output_directory Если задано значение true, выходной каталог перезаписывается, только если он не пуст. Значение по умолчанию — false.
Возвращает
Объект SavedModel с примененным квантованием TF или None, если квантование не выполняется.
Вызывает исключения
ValueError Если: 1) для модели без QAT не указан representative_dataset, необходимый для статического квантования диапазона; 2) указано недопустимое значение метода квантования; или 3) набор representative dataset передан и через аргумент, и через 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