tf.keras.dtype_policies.QuantizedFloat8DTypePolicy
Политика типа данных для слоя Keras.
Наследует от: QuantizedDTypePolicy, DTypePolicy
tf.keras.dtype_policies.QuantizedFloat8DTypePolicy(
name, amax_history_length=1024
)
Политика типа данных определяет типы данных для вычислений и переменных слоя. У каждого слоя есть своя политика. Политику можно передать в аргумент dtype конструктора слоя или задать глобальную политику с помощью keras.config.set_dtype_policy.
| Аргументы | |
|---|---|
name | Имя политики, определяющее типы данных для вычислений и переменных. Это может быть любое имя типа данных, например "float32" или "float64", в результате чего для вычислений и переменных будет использоваться этот тип данных. Также можно указать строку "mixed_float16" или "mixed_bfloat16": в этом случае для вычислений будет использоваться тип данных float16 или bfloat16, а для переменных — float32. |
Обычно взаимодействовать с политиками типов данных нужно только при использовании смешанной точности — когда для вычислений используется float16 или bfloat16, а для переменных — float32. Именно поэтому в имени API присутствует термин mixed_precision. Смешанную точность можно включить, передав "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 не требуется.
| Атрибуты | |
|---|---|
amax_history_length | Длина окна истории amax. Это свойство используется для вычисления коэффициента масштабирования при обучении с float8. |
compute_dtype | Тип данных для вычислений, задаваемый этой политикой. Это тип данных, в котором слои выполняют вычисления. Обычно слои также возвращают тензоры этого типа. Обратите внимание: даже если тип данных для вычислений — float16 или bfloat16, аппаратные устройства могут выполнять отдельные операции сложения, умножения и другие базовые операции не в float16 или bfloat16, а некоторые из них — в float32 для повышения численной устойчивости. Тип данных для вычислений — это тип данных входных и выходных значений операций, выполняемых слоем. Для повышения численной устойчивости многие операции внутри выполняют определённые вычисления в float32 или в другом внутреннем промежуточном формате устройства с более высокой точностью, чем float16/bfloat16. |
name | Возвращает имя этой политики. |
quantization_mode | Режим квантования этой политики. |
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/dtype_policies/QuantizedFloat8DTypePolicy