Spec-Zone.ru › TensorFlow 1.15

tf.contrib.quantize.experimental_create_training_graph

Переписывает входной граф обучения input_graph на месте для моделирования квантования.

tf.contrib.quantize.experimental_create_training_graph(
    input_graph=None, weight_bits=8, activation_bits=8, symmetric=False,
    quant_delay=0, freeze_bn_delay=None, scope=None
)

Эта функция должна быть вызвана до вставки операций градиента в граф, так как квантование должно моделироваться как в прямом, так и в обратном проходах.

Переменные, добавленные в результате переписывания, добавляются в коллекцию глобальных переменных.

Эта функция имеет дополнительные экспериментальные параметры, которые (ещё) недоступны для create_training_graph. Результирующее поведение может быть неопределённым.

В граф вставляются фейковые операции квантования для моделирования ошибки, вносимой квантованием. Поскольку граф преобразуется на месте, ожидаемое поведение ранее удерживаемых ссылок на узлы и тензоры может измениться.

Значение по умолчанию для quant_delay подходит для дообучения уже обученной модели с плавающей точкой (рекомендуется). Если нужно обучить квантованную модель с нуля, quant_delay должен быть установлен на количество шагов, за которое модель с плавающей точкой достигает сходимости. В этот момент квантование будет активировано и модель будет эффективно дообучена. Если quant_delay не указан при обучении с нуля, обучение часто может завершиться неудачей.

Аргументы
input_graph tf.Graph, который необходимо преобразовать. Если None, используется по умолчанию.
weight_bits Количество бит для квантования весов.
activation_bits Количество бит для квантования активаций.
symmetric Если True, использовать симметричные пределы квантования вместо отдельного обучения минимального и максимального значений для каждого диапазона квантования.
quant_delay Количество шагов после которого веса и активации квантуются во время обучения.
freeze_bn_delay Количество шагов после которого подвижные среднее и дисперсия замораживаются и используются вместо статистических данных на партии во время обучения. freeze_bn_delay должен быть больше quant_delay и соответствовать моменту, когда обучение почти сошлось.
scope Область, которая должна быть преобразована. Если не None, будут преобразованы только операции в этой области.
Исключения
ValueError Если элементы содержат элемент, который не является tf.Tensor или tf.Operation.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/quantize/experimental_create_training_graph

Spec-Zone.ru

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