tf.keras.DTypePolicy
Политика типа данных для слоя Keras.
tf.keras.DTypePolicy(
name
)
Используется в ноутбуках
| Используется в руководстве |
|---|
Политика типа данных определяет типы вычислений и переменных слоя. Каждый слой имеет политику. Политики могут быть переданы в аргумент dtype конструкторов слоев, или глобальная политика может быть установлена с помощью keras.config.set_dtype_policy.
| Аргументы | |
|---|---|
name | Имя политики, которое определяет типы вычислений и переменных. Может быть любым именем типа данных, например, "float32" или "float64", что приводит к тому, что типы вычислений и переменных будут этого типа. Также может быть строкой "mixed_float16" или "mixed_bfloat16", что приводит к типу вычислений float16 или bfloat16, а типу переменных — float32. |
Как правило, вам нужно взаимодействовать с политиками типов данных только при использовании смешанной точности, что означает использование float16 или bfloat16 для вычислений и float32 для переменных. Вот почему термин mixed_precision появляется в имени API. Смешанная точность может быть включена путем передачи "mixed_float16" или "mixed_bfloat16" в keras.mixed_precision.set_dtype_policy().
keras.config.set_dtype_policy("mixed_float16")
layer1 = keras.layers.Dense(10)
layer1.dtype_policy # layer1 will automatically use mixed precision
<DTypePolicy "mixed_float16">
# Can optionally override layer to use float32
# instead of mixed precision.
layer2 = keras.layers.Dense(10, dtype="float32")
layer2.dtype_policy
<DTypePolicy "float32">
# Set policy back to initial float32.
keras.config.set_dtype_policy('float32')В примере выше, передача dtype="float32" слою эквивалентна передаче dtype=keras.config.DTypePolicy("float32"). В общем случае, передача имени политики типа данных слою эквивалентна передаче соответствующей политики, поэтому нет необходимости явно создавать объект DTypePolicy.
| Атрибуты | |
|---|---|
compute_dtype | Тип вычислений этой политики. Это тип данных, в котором слои будут выполнять свои вычисления. Обычно слои выдают тензоры с типом данных вычислений. Обратите внимание, что даже если тип вычислений — float16 или bfloat16, аппаратные устройства могут не выполнять отдельные сложения, умножения и другие фундаментальные операции в float16 или bfloat16, а вместо этого могут выполнять некоторые из них в float32 для повышения числовой устойчивости. Тип вычислений — это тип данных входов и выходов операций, которые выполняет слой. Внутренне многие операции будут выполнять некоторые внутренние вычисления в float32 или другом внутреннем формате устройства с большей точностью, чем float16/bfloat16, для повышения числовой устойчивости. |
name | Возвращает имя этой политики. |
variable_dtype | Тип переменных этой политики. Это тип данных, в котором слои будут создавать свои переменные, если слой явно не выберет другой тип. Если это отличается от Регуляризаторы переменных выполняются в типе переменных, а не в типе вычислений. |
Методы
convert_input
convert_input(
x, autocast, dtype
)
from_config
@classmethod
from_config(
config
)
get_config
get_config()
© 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/keras/DTypePolicy