tf.keras.mixed_precision.experimental.Policy
| Просмотреть исходный код на GitHub |
Устаревший тип данных политики для слоя Keras.
Наследуется от: Policy
tf.keras.mixed_precision.experimental.Policy(
name, loss_scale='auto'
)
Разница между этим классом и неэкспериментальным классом заключается в том, что этот класс имеет поле loss_scale, а неэкспериментальный класс — нет. Масштаб потерь используется только tf.keras.Model.compile, который автоматически оборачивает оптимизатор с LossScaleOptimizer, если оптимизатор не является LossScaleOptimizer. Для неэкспериментального класса Policy Model.compile вместо этого оборачивает оптимизатор с LossScaleOptimizer, если Policy.name равен "mixed_float16".
При десериализации объектов с экспериментальной политикой с помощью функций, таких как tf.keras.utils.deserialize_keras_object, политика будет десериализована как неэкспериментальная tf.keras.mixed_precision.Policy, а масштаб потерь будет безмолвно опущен. Это делается для того, чтобы SavedModels, сгенерированные с экспериментальной политикой, можно было восстановить после удаления экспериментальной политики.
| Аргументы | |
|---|---|
name | Строка. Может принимать следующие значения:
|
loss_scale | tf.compat.v1.mixed_precision.LossScale, целое число (которое использует FixedLossScale), строка "dynamic" (которая использует DynamicLossScale) или None (не использует масштаб потерь). По умолчанию "auto". В случае "auto": 1) если name равно "mixed_float16", то используйте loss_scale="dynamic". 2) в противном случае не используйте масштаб потерь. Только tf.keras.Model, а не слои, используют масштаб потерь, и он используется только во время Model.fit, Model.train_on_batch и других аналогичных методах. |
| Атрибуты | |
|---|---|
compute_dtype | Тип данных вычислений этой политики. Это тип данных, в котором слои будут выполнять вычисления. Как правило, слои также выводят тензоры с типом данных вычислений. Обратите внимание, что даже если тип данных вычислений равен float16 или bfloat16, аппаратные устройства могут не выполнять отдельные сложения, умножения и другие базовые операции с float16 или bfloat16, а вместо этого могут выполнять некоторые из них с float32 для повышения числовой устойчивости. Тип данных вычислений — это тип данных входных и выходных данных операций TensorFlow, выполняемых слоем. Внутренне многие операции TensorFlow будут выполнять определенные внутренние вычисления в float32 или в другом внутреннем формате устройства с большей точностью, чем float16/bfloat16, чтобы повысить числовую устойчивость. Например, слой |
loss_scale | Возвращает масштаб потерь этой политики. |
name | Возвращает имя этой политики. |
variable_dtype | Тип данных переменной этой политики. Это тип данных, в которых слои создадут свои переменные, если слой явно не выберет другой тип данных. Если он отличается от Регуляризаторы переменных выполняются в типе данных переменной, а не в типе данных вычислений. |
Методы
from_config
@classmethod
from_config(
config, custom_objects=None
)
get_config
get_config()
© 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/r2.4/api_docs/python/tf/keras/mixed_precision/experimental/Policy