TensorFlow变量

在TensorFlow中,变量(tf.Variable)的作用就是保存和更新神经网络中的参数。TensorFlow中变量的初始值可以设置成随机数、常数或者是通过其他变量的初始值计算得到的。

  • 随机数生成器

TensorFlow随机数生成函数

函数名称随机数分布主要参数
tf.random_normal正态分布平均值、标准差、取值类型
tf.truncated_normal正态分布,但如果随机出来的值偏离平均值超过2个标准差,那么这个数将会被重新随机平均值、标准差、取值类型
tf.random_uniform均匀分布最小、最大取值,取值类型
tf.random_gammaGamma分布形状参数alpha、尺度参数beta、取值类型
  • 常数

TensorFlow常数生成函数

函数名称功能样例
tf.zeros产生全0的数组tf.zeros([2, 3], int32) -> [[0, 0, 0], [0, 0, 0]]
tf.ones产生全1的数组tf.ones([2, 3], int32) -> [[1, 1, 1], [1, 1, 1]]
tf.fill产生一个全部为给定数字的数组tf.fill([2, 3], 9) -> [[9, 9, 9], [9, 9, 9]]
tf.constant产生一个给定值的常量tf.constant([1, 2, 3]) -> [1, 2, 3]

在神经网络中,偏置项bias通常会使用常数来设置初始值。

  • 其他变量的初始值
weights = tf.Variable(tf.random_normal([2, 3], stddev = 2))
w = tf.Variable(weights.initializer_value() * 2.0)

在TensorFlow中,一个变量的值在被使用之前,这个变量的初始值过程需要被明确地调用。
TensorFlow提供了一种便捷的方式来完成变量初始化的过程,即通过tf.global_variables_initializer函数实现初始化所有变量的过程。

init_op = tf.global_variables_initializer()
sess.run(init_op)

变量与张量的关系:在TensorFlow中,变量的声明函数tf.Variable是一个运算。这个运算的输出结果就是一个张量,这个张量也就是变量。所以变量只是一种特殊的张量。

变量最重要的两个属性:维度shape和类型type。(变量的类型是不可改变的,维度在程序运行中是有可能改变的,通过设置参数validate_shape=False。tf.assign函数实现两个变量之间的赋值操作。)

(最近更新:2019年04月12日)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值