tf.contrib.quantize.create_training_graph
Переписывает граф обучения input_graph на месте для моделирования квантования.
tf.contrib.quantize.create_training_graph(
input_graph=None, quant_delay=0
)
Переменные, добавленные в результате переписывания, добавляются в коллекцию глобальных переменных.
Эта функция должна быть вызвана до вставки операций градиента в граф, так как квантование должно моделироваться как в прямом, так и в обратном проходах.
В граф вставляются фиктивные операции квантования для моделирования ошибки, вносимой квантованием. Поскольку граф преобразуется на месте, ожидаемое поведение ранее удерживаемых ссылок на узлы и тензоры может измениться.
Значение по умолчанию для quant_delay подходит для дообучения уже обученной модели с плавающей точкой (рекомендуется). Если вы хотите обучить квантованную модель с нуля, quant_delay следует установить в количество шагов, необходимых для сходимости модели с плавающей точкой. В этот момент квантование будет активировано и позволит эффективно дообучить модель. Если quant_delay не указан при обучении с нуля, обучение часто может завершиться неудачно.
| Аргументы | |
|---|---|
input_graph | Граф tf.Graph, который нужно преобразовать. |
quant_delay | Количество шагов после которого веса и активации квантуются во время обучения. |
| Исключения | |
|---|---|
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/create_training_graph