RandomNormal
类tf_keras.initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None)
生成具有正态分布的张量的初始化器。
也可以通过快捷函数 tf.keras.initializers.random_normal
获取。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.RandomNormal(mean=0., stddev=1.)
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.RandomNormal(mean=0., stddev=1.)
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
RandomUniform
类tf_keras.initializers.RandomUniform(minval=-0.05, maxval=0.05, seed=None)
生成具有均匀分布的张量的初始化器。
也可以通过快捷函数 tf.keras.initializers.random_uniform
获取。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.RandomUniform(minval=0., maxval=1.)
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.RandomUniform(minval=0., maxval=1.)
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
TruncatedNormal
类tf_keras.initializers.TruncatedNormal(mean=0.0, stddev=0.05, seed=None)
生成截断正态分布的初始化器。
也可以通过快捷函数 tf.keras.initializers.truncated_normal
获取。
生成的值类似于来自 tf.keras.initializers.RandomNormal
的值,不同之处在于,与均值相差两个标准差以上的值会被舍弃并重新抽取。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.TruncatedNormal(mean=0., stddev=1.)
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.TruncatedNormal(mean=0., stddev=1.)
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
Zeros
类tf_keras.initializers.Zeros()
生成初始化为 0 的张量的初始化器。
也可以通过快捷函数 tf.keras.initializers.zeros
获取。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.Zeros()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.Zeros()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
Ones
类tf_keras.initializers.Ones()
生成初始化为 1 的张量的初始化器。
也可以通过快捷函数 tf.keras.initializers.ones
获取。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.Ones()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.Ones()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
GlorotNormal
类tf_keras.initializers.GlorotNormal(seed=None)
Glorot 正态分布初始化器,也称为 Xavier 正态分布初始化器。
也可以通过快捷函数 tf.keras.initializers.glorot_normal
获取。
从以 0 为中心的截断正态分布中抽取样本,其 stddev = sqrt(2 / (fan_in + fan_out))
,其中 fan_in
是权重张量中的输入单元数,fan_out
是权重张量中的输出单元数。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.GlorotNormal()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.GlorotNormal()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
参考文献
GlorotUniform
类tf_keras.initializers.GlorotUniform(seed=None)
Glorot 均匀分布初始化器,也称为 Xavier 均匀分布初始化器。
也可以通过快捷函数 tf.keras.initializers.glorot_uniform
获取。
从介于 [-limit, limit]
之间的均匀分布中抽取样本,其中 limit = sqrt(6 / (fan_in + fan_out))
(fan_in
是权重张量中的输入单元数,fan_out
是输出单元数)。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.GlorotUniform()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.GlorotUniform()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
参考文献
HeNormal
类tf_keras.initializers.HeNormal(seed=None)
He 正态分布初始化器。
也可以通过快捷函数 tf.keras.initializers.he_normal
获取。
它从以 0 为中心的截断正态分布中抽取样本,其 stddev = sqrt(2 / fan_in)
,其中 fan_in
是权重张量中的输入单元数。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.HeNormal()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.HeNormal()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
参考文献
HeUniform
类tf_keras.initializers.HeUniform(seed=None)
He 均匀方差缩放初始化器。
也可以通过快捷函数 tf.keras.initializers.he_uniform
获取。
从介于 [-limit, limit]
之间的均匀分布中抽取样本,其中 limit = sqrt(6 / fan_in)
(fan_in
是权重张量中的输入单元数)。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.HeUniform()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.HeUniform()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
参考文献
Identity
类tf_keras.initializers.Identity(gain=1.0)
生成单位矩阵的初始化器。
也可以通过快捷函数 tf.keras.initializers.identity
获取。
仅用于生成 2D 矩阵。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.Identity()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.Identity()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
Orthogonal
类tf_keras.initializers.Orthogonal(gain=1.0, seed=None)
生成正交矩阵的初始化器。
也可以通过快捷函数 tf.keras.initializers.orthogonal
获取。
如果要初始化的张量的形状是二维的,则使用从正态分布中随机抽取数值的矩阵进行 QR 分解得到的正交矩阵对其进行初始化。如果矩阵的行数少于列数,则输出将具有正交行。否则,输出将具有正交列。
如果要初始化的张量的形状超过二维,则初始化一个形状为 (shape[0] * ... * shape[n - 2], shape[n - 1])
的矩阵,其中 n
是形状向量的长度。该矩阵随后会被重塑以得到所需形状的张量。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.Orthogonal()
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.Orthogonal()
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
参考文献
Constant
类tf_keras.initializers.Constant(value=0)
生成具有常数值的张量的初始化器。
也可以通过快捷函数 tf.keras.initializers.constant
获取。
只允许标量值。提供的常数值必须可转换为调用初始化器时请求的数据类型(dtype)。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.Constant(3.)
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.Constant(3.)
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
VarianceScaling
类tf_keras.initializers.VarianceScaling(
scale=1.0, mode="fan_in", distribution="truncated_normal", seed=None
)
根据输入张量的形状调整其缩放比例的初始化器。
也可以通过快捷函数 tf.keras.initializers.variance_scaling
获取。
使用 distribution="truncated_normal"
或 "untruncated_normal"
时,样本从截断/非截断正态分布中抽取,均值为零,标准差(如果使用截断)为 stddev = sqrt(scale / n)
,其中 n
是
mode="fan_in"
mode="fan_out"
mode="fan_avg"
使用 distribution="uniform"
时,样本从介于 [-limit, limit]
之间的均匀分布中抽取,其中 limit = sqrt(3 * scale / n)
。
示例
>>> # Standalone usage:
>>> initializer = tf.keras.initializers.VarianceScaling(
... scale=0.1, mode='fan_in', distribution='uniform')
>>> values = initializer(shape=(2, 2))
>>> # Usage in a TF-Keras layer:
>>> initializer = tf.keras.initializers.VarianceScaling(
... scale=0.1, mode='fan_in', distribution='uniform')
>>> layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
参数
"fan_in"
、"fan_out"
或 "fan_avg"
之一。"truncated_normal"
、"untruncated_normal"
或 "uniform"
之一。