Tensorflow 提供了7种不同的初始化函数:
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()
以上这篇对Tensorflow中的变量初始化函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/zSean/article/details/75091509