当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.truncated_normal_initializer用法及代码示例


生成截断正态分布的初始化程序。

用法

tf.compat.v1.truncated_normal_initializer(
    mean=0.0, stddev=1.0, seed=None, dtype=tf.dtypes.float32
)

参数

  • mean python 标量或标量张量。要生成的随机值的平均值。
  • stddev python 标量或标量张量。要生成的随机值的标准差。
  • seed 一个 Python 整数。用于创建随机种子。有关行为,请参见tf.compat.v1.set_random_seed
  • dtype 默认数据类型,如果在调用初始化程序时没有提供 dtype 参数,则使用该类型。仅支持浮点类型。

迁移到 TF2

警告:这个 API 是为 TensorFlow v1 设计的。继续阅读有关如何从该 API 迁移到本机 TensorFlow v2 等效项的详细信息。见TensorFlow v1 到 TensorFlow v2 迁移指南有关如何迁移其余代码的说明。

虽然它是一个遗留的 compat.v1 API,但此符号与即刻执行和 tf.function 兼容。

要切换到 TF2,请切换到使用 tf.initializers.truncated_normaltf.keras.initializers.TruncatedNormal(均来自 compat.v1 )并在调用初始化程序时传递 dtype。请记住,默认 stddev 和固定种子的行为已更改。

到 TF2 的结构映射

前:

initializer = tf.compat.v1.truncated_normal_initializer(
  mean=mean,
  stddev=stddev,
  seed=seed,
  dtype=dtype)

weight_one = tf.Variable(initializer(shape_one))
weight_two = tf.Variable(initializer(shape_two))

后:

initializer = tf.initializers.truncated_normal(
  mean=mean,
  seed=seed,
  stddev=stddev)

weight_one = tf.Variable(initializer(shape_one, dtype=dtype))
weight_two = tf.Variable(initializer(shape_two, dtype=dtype))

如何映射参数

TF1 参数名称 TF2 参数名称 注意
mean mean 没有更改默认值
stddev stddev 默认从 1.0 更改为 0.05
seed seed
dtype dtype TF2 原生 api 仅将其作为 __call__ arg,而不是构造函数 arg。
partition_info - (TF1 中的 __call__ arg)不支持

这些值与random_normal_initializer 中的值相似,但与平均值相差超过两个标准差的值将被丢弃并重新绘制。这是神经网络权重和过滤器的推荐初始化程序。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.truncated_normal_initializer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。