Spec-Zone.ru › TensorFlow

tf.keras.dtype_policies.QuantizedDTypePolicy

Политика типа данных для слоя Keras.

Наследуется от: DTypePolicy

tf.keras.dtype_policies.QuantizedDTypePolicy(
    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 Возвращает имя этой политики.
quantization_mode Режим квантования этой политики.
variable_dtype Переменный тип данных этой политики.

Это тип данных, в котором слои будут создавать свои переменные, если слой явно не выберет другой тип данных. Если это отличается от DTypePolicy.compute_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/QuantizedDTypePolicy

Spec-Zone.ru

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