tf.compat.v1.keras.layers.experimental.preprocessing.Normalization
Нормализация данных по признакам.
Наследуется от: Normalization, PreprocessingLayer, Layer, Module
tf.compat.v1.keras.layers.experimental.preprocessing.Normalization(
axis=-1, dtype=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 Dataset или в виде массива 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/compat/v1/keras/layers/experimental/preprocessing/Normalization