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