Python tf.keras.layers.Normalization用法及代码示例

您所在的位置:网站首页 如何连接adapt Python tf.keras.layers.Normalization用法及代码示例

Python tf.keras.layers.Normalization用法及代码示例

2024-07-15 04:49| 来源: 网络整理| 查看: 265

标准化连续特征的预处理层。

继承自:PreprocessingLayer、Layer、Module

用法tf.keras.layers.Normalization( axis=-1, mean=None, variance=None, **kwargs )参数 axis 整数、整数元组或无。对于形状中的每个索引,一个或多个轴应该具有单独的均值和方差。例如,如果形状是 (None, 5) 和 axis=1 ,则图层将跟踪最后一个轴的 5 个单独的均值和方差值。如果 axis 设置为 None ,该层将通过标量均值和方差对输入中的所有元素进行归一化。默认为 -1,其中输入的最后一个轴被假定为特征维度并按索引进行归一化。请注意,在唯一轴是批处理轴的批处理标量输入的特定情况下,默认情况下将分别对批处理中的每个索引进行规范化。在这种情况下,请考虑传递 axis=None 。 mean 标准化期间使用的平均值。传递的值将被广播到上面保留轴的形状;如果无法广播该值,则调用该层的build() 方法时将引发错误。 variance 标准化期间要使用的方差值。传递的值将被广播到上面保留轴的形状;如果无法广播该值,则调用该层的build() 方法时将引发错误。 属性 is_adapted 图层是否已经适合数据。

该层会将输入转换并缩放到以 0 为中心且标准差为 1 的分布中。它通过预先计算数据的均值和方差并在运行时调用 (input - mean) / sqrt(var) 来实现这一点。

该层的均值和方差值必须在构造时提供或通过 adapt() 学习。 adapt() 将计算数据的均值和方差,并将它们存储为层的权重。 adapt() 应该在 fit() , evaluate() 或 predict() 之前调用。

有关预处理层的概述和完整列表,请参阅预处理指南。

例子:

通过分析 adapt() 中的数据集来计算全局均值和方差。

adapt_data = np.array([1., 2., 3., 4., 5.], dtype='float32') input_data = np.array([1., 2., 3.], dtype='float32') layer = tf.keras.layers.Normalization(axis=None) layer.adapt(adapt_data) layer(input_data)

计算最后一个轴上每个指标的均值和方差。

adapt_data = np.array([[0., 7., 4.], [2., 9., 6.], [0., 7., 4.], [2., 9., 6.]], dtype='float32') input_data = np.array([[0., 7., 4.]], dtype='float32') layer = tf.keras.layers.Normalization(axis=-1) layer.adapt(adapt_data) layer(input_data)

直接传递均值和方差。

input_data = np.array([[1.], [2.], [3.]], dtype='float32') layer = tf.keras.layers.Normalization(mean=3., variance=2.) layer(input_data)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3