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
使用。
仅可用于生成二维矩阵。
示例
>>> # 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
使用。
仅允许标量值。提供的常数值必须可转换为调用初始化器时请求的数据类型。
示例
>>> # 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" or "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"
之一。