tensorflow中初始化函数

Tensorflow 提供了7种不同的初始化函数:

初始化函数功能主要参数
tf.constant_initializer将变量初始化为给定常量常量的取值(tf.constant_initializer(value))
tf.random_normal_initializer将变量初始化为满足正态分布的随机值

正态分布的均值和标准差

(tf.random_normal_initializer(mean=0.0, stddev=1.0, seed=None, dtype=tf.float32))

tf.truncated_normal_initializer

将变量初始化为满足正态分布的随机值,但如果随机出的

值偏离平均值超过2个标准差,那么这个数将会被重新随机

正态分布的均值和标准差

These values are similar to values from a `random_normal_initializer`

tf.random_uniform_initializer将变量初始化为满足平均分布的随机值最大、最小值,__init__(self, minval=0, maxval=None, seed=None, dtype=tf.float32)
tf.uniform_unit_scaling_initializer将变量初始化为满足平均分布但不影响输出数量级的随机值factor(产生随机值时乘以的系数),__init__(self, factor=1.0, seed=None, dtype=tf.float32)
tf.zeros_initializer将变量设置为全0变量维度
tf.ones_initializer将变量设置为全1变量维度

 

 

 

 

 

 

 

 

 

 

 

 

tf.constant_initializer(value) #将变量初始化为给定的常量,初始化一切所提供的值。

?

1

2

3

假设在卷积层中,设置偏执项b为0,则写法为:

1. bias_initializer=tf.constant_initializer(0)

2. bias_initializer=tf.zeros_initializer(0)

tf.random_normal_initializer(mean,stddev) #功能是将变量初始化为满足正太分布的随机值,主要参数(正太分布的均值和标准差),用所给的均值和标准差初始化均匀分布

tf.truncated_normal_initializer(mean,stddev,seed,dtype) #功能:将变量初始化为满足正太分布的随机值,但如果随机出来的值偏离平均值超过2个标准差,那么这个数将会被重新随机

?

1

2

mean:用于指定均值;stddev用于指定标准差;seed:用于指定随机数种子;dtype:用于指定随机数的数据类型。

通常只需要设定一个标准差stddev这一个参数就可以。

tf.random_uniform_initializer(a,b,seed,dtype) #从a到b均匀初始化,将变量初始化为满足平均分布的随机值,主要参数(最大值,最小值)

tf.uniform_unit_scaling_initializer(factor,seed,dtypr) #将变量初始化为满足平均分布但不影响输出数量级的随机值

?

1

2

3

max_val=math.sqrt(3/input_size)*factor;

input_size指输入数据的维数,假设输入为x,计算为x*w,则input_size=w.shape[0].

其分布区间为[-max_val,max_val]

tf.zeros_initializer() #将变量设置为全0;也可以简写为tf.Zeros()

tf.ones_initializer() #将变量设置为全1;可简写为tf.Ones()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值