TensorFlow的变量初始化

主要参考TensorFlow 变量初始化函数,无变动

初始化函数功能主要参数
tf.constant_initializer将变量初始化为给定常量常量的取值
tf.random_normal_initializer将变量初始化为满足正太分布的随机值正太分布的均值和标准差
tf.truncated_normal_initializer将变量初始化为满足正太分布的随机值,但是变量随机的值偏离平均值超过两个标准差,那么这个数将被重新随机正太分布的均值和标准差
tf.random_uniform_initializer将变量初始化为满足平均分布的随机值最大、最小值
tf.uniform_unit_scaling_initializer将变量初始化为满足平均分布但不影响输出数量集的随机值factor(产生的随机数值乘以系数)
tf.zeros_initializer将变量设为全0变量维度
tf.ones_initializer将变量设为全1变量维度

主要参考TensorFlow变量初始化,稍有变动

tf.get_variable的初始化调用为:
tf.get_variable(name, shape=None, initializer=None, dtype=tf.float32, trainable=True, collections=None)
其中initializer就是变量初始化的方法,初始化的方式有以下种类:
initializer = tf.constant_initializer(const):常量初始化函数
initializer = tf.random_normal_initializer():正态分布初始化函数
initializer = tf.truncated_normal_initializer(mean = 0.0, stddev = 1.0, seed = None, dtype = dtypes.float32):截取的正态分布初始化函数
initializer = tf.random_uniform_initializer(minval = 0, maxval = None, seed = None, dtype = dtypes.float32):均匀分布初始化函数
initializer = tf.zeros_initializer():全0常量初始化函数
initializer = tf.ones_initializer():全1常量初始化函数
initializer = tf.uniform_unit_scaling_initializer(factor = 1.0, seed = None, dtype = dtypes.float32):均匀分布(不指定最小、最大值),初始化函数
initializer = tf.variance_scaling_initializer(scale = 1.0, mode = “fan_in”, distribution = “normal”, seed = None, dtype = dtypes.float32):由mode确定是截取的正态分布,还是均匀分布初始化函数
initializer = tf.orthogonal_initializer():正交矩阵初始化函数
initializer = tf.glorot_uniform_initializer():由输入单元节点数和输出单元节点数确定的均匀分布初始化函数
initializer = tf.glorot_normal_initializer():由输入单元节点数和输出单元节点数确定的截取的正态分布初始化函数
PS: tf.get_variable中initializer的初始化不需要再指定shape了,已经在外面指定。

基本的变量初始化为:
tf.ones(shape, dtype = tf.float32, name = None)
tf.zeros(shape, dtype = tf.float32, name = None)
tf.ones_like(tensor, dtype = None, name = None)
tf.zeros_like(tensor, dtype = None, name = None)
tf.fill(dim, value, name = None)
tf.constant(value, dtype = None, shape = None, name = None)
tf.linspace(start, stop, num, name = None)
tf.range(start, limit = None, delta = 1, name = None)
tf.random_normal(shape, mean = 0.0, stddev = 1.0, dtype = tf.float32, seed = None, name = None)
tf.truncated_normal(shape, mean = 0.0, stddev = 1.0, dtype = tf.float32, seed = None, name = None)
tf.random_uniform(shape, minval = 0, maxval = None, dtype = tf.float32, seed = None, name = None)
tf.random_shuffle(value, seed =None, name = None)
tf.set_random_seed(seed):设置产生随机数的种子
例如:
tf.set_random_seed(123456789)
varA = tf.random_normal([1.0])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值