Spec-Zone.ru › TensorFlow 2.4

tf.keras.layers.experimental.preprocessing.Normalization

Нормализация данных по признакам.

Наследуется от: PreprocessingLayer, Layer, Module

tf.keras.layers.experimental.preprocessing.Normalization(
    axis=-1, dtype=None, mean=None, variance=None, **kwargs
)

Этот слой принудительно переводит свои входные данные в распределение, центр которого расположен около 0, а стандартное отклонение равно 1. Это достигается путем предварительного вычисления среднего и дисперсии данных и вызова (вход - среднее)/sqrt(дисперсия) во время выполнения.

Что происходит в adapt: Вычисляются среднее и дисперсия данных, и они хранятся в качестве весов слоя. adapt должен быть вызван перед fit, evaluate, или predict.

Примеры:

Вычислите среднее значение и дисперсию, проанализировав набор данных в adapt.

adapt_data = np.array([[1.], [2.], [3.], [4.], [5.]], dtype=np.float32)
input_data = np.array([[1.], [2.], [3.]], np.float32)
layer = Normalization()
layer.adapt(adapt_data)
layer(input_data)
<tf.Tensor: shape=(3, 1), dtype=float32, numpy=
array([[-1.4142135 ],
       [-0.70710677],
       [ 0.        ]], dtype=float32)>

Непосредственно передайте среднее значение и дисперсию.

input_data = np.array([[1.], [2.], [3.]], np.float32)
layer = Normalization(mean=3., variance=2.)
layer(input_data)
<tf.Tensor: shape=(3, 1), dtype=float32, numpy=
array([[-1.4142135 ],
       [-0.70710677],
       [ 0.        ]], dtype=float32)>
Атрибуты
axis Целое число или кортеж целых чисел, ось или оси, которые должны быть «сохранены». Эти оси не суммируются при вычислении статистических данных нормализации. По умолчанию сохраняется последняя ось, ось features, и любые space или time оси суммируются. Каждый элемент в сохраненных осях нормализуется независимо. Если axis установлено в 'None', слой выполнит скалярную нормализацию (разделив вход на одно скалярное значение). Ось batch, 0, всегда суммируется (axis=0 недопустимо).
mean Среднее значение(я) для использования при нормализации. Переданное значение(я) будет транслироваться к форме сохраненных осей выше; если значение(я) не могут быть транслированы, при вызове метода build() этого слоя будет выдано сообщение об ошибке.
variance Дисперсия значение(я) для использования при нормализации. Переданное значение(я) будет транслироваться к форме сохраненных осей выше; если значение(я) не могут быть транслированы, при вызове метода build() этого слоя будет выдано сообщение об ошибке.

Методы

adapt

Посмотреть исходный код

adapt(
    data, reset_state=True
)

Подстраивает состояние слоя предобработки под передаваемые данные.

Аргументы
data Данные для обучения. Они могут быть переданы либо как набор данных tf.data, либо как массив NumPy.
reset_state Необязательный аргумент, указывающий, нужно ли очистить состояние слоя в начале вызова adapt, или нужно ли начать с существующего состояния. Подклассы могут выбрать выброс исключения, если reset_state установлено в 'False'.

© 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/layers/experimental/preprocessing/Normalization

Spec-Zone.ru

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