tensorflow API:tf.Variable
2017-12-22 15:34
453 查看
原文:官网
一个Variable变量通过run()保存流程图中的状态;创建一个变量,即创建一个Variable类的实例加入graph中
Variable()构造器要求变量有初始化值,初始化值给出了Tensor的类型和形状。变量创建以后,变量的type和shape都被固定,变量的值可以通过assign方法改变。
如果想改变变量的shape,通过使用assign方法,并且设置validate_shape = False
可以通过其他变量初始化现有的变量,并且变量之间的算术运算也能再现有的graph中加入新节点。
流程如下:
import tensorflow as tf
#创建变量
w = tf.Variable(, name=)
# 用变量构建graph
y = tf.matmul(w, …another variable or tensor…)
#操作符被重载
z = tf.sigmoid(w + y)
# 通过
w.assign(w + 1.0)
w.assign_add(1.0)
当我们启动graph的时候,运行各个操作(ops)用到了图里的变量值,那变量必须在这之前被明确的初始化。可以运行variable的initializer ,从文件恢复(restoring)变量,或者赋值(assigne)操作给变量赋值。
例子:
最常使用的初始化模式是用global_variables_initializer()添加一个op到已有的图中,这个操作会初始化图中所有的变量,
当需要用其他变量初始化现有变量时,用其他变量的initialized_value()方法,这保证变量正确的被初始化。
全部的变量都自动被收集到创建得图上。默认的构造器添加新变量到collection GraphKeys.GLOBAL_VARIABLES中。可以用global_variables()函数得到collection全局的上下文
在构建一个机器学习模型的时候,经常需要区别哪些变量是该模型控制的可训练的参数,哪些变量是全局变量用来计数训练步骤等,因此所有的变量构造器支持一个trainable=的参数。如果设为True,这个新变量添加到collection GraphKeys.TRAINABLE_VARIABLES中,表示是模型控制的可训练参数。可以用trainable_variables()函数得到collection可训练的上下文。
各种优化器类使用此collection优化变量的默认列表
一个Variable变量通过run()保存流程图中的状态;创建一个变量,即创建一个Variable类的实例加入graph中
Variable()构造器要求变量有初始化值,初始化值给出了Tensor的类型和形状。变量创建以后,变量的type和shape都被固定,变量的值可以通过assign方法改变。
如果想改变变量的shape,通过使用assign方法,并且设置validate_shape = False
可以通过其他变量初始化现有的变量,并且变量之间的算术运算也能再现有的graph中加入新节点。
流程如下:
import tensorflow as tf
#创建变量
w = tf.Variable(, name=)
# 用变量构建graph
y = tf.matmul(w, …another variable or tensor…)
#操作符被重载
z = tf.sigmoid(w + y)
# 通过
assign()或者related method给变量赋新值。
w.assign(w + 1.0)
w.assign_add(1.0)
当我们启动graph的时候,运行各个操作(ops)用到了图里的变量值,那变量必须在这之前被明确的初始化。可以运行variable的initializer ,从文件恢复(restoring)变量,或者赋值(assigne)操作给变量赋值。
例子:
在一个会话里启动图。
with tf.Session() as sess: # Run the variable initializer. sess.run(w.initializer)
..现在可以用使用操作w的运算符了(ops)…**
The most common initialization pattern is to use the convenience function global_variables_initializer() to add an Op to the graph that initializes all the variables. You then run that Op after launching the graph.最常使用的初始化模式是用global_variables_initializer()添加一个op到已有的图中,这个操作会初始化图中所有的变量,
添加一个op作为全局变量初始化操作符。
init_op = tf.global_variables_initializer()
在会话(session)里启动图。
with tf.Session() as sess: # 运行可以初始化全局变量的这个操作符。 sess.run(init_op) ...现在可以运行任意的变量了...
当需要用其他变量初始化现有变量时,用其他变量的initialized_value()方法,这保证变量正确的被初始化。
全部的变量都自动被收集到创建得图上。默认的构造器添加新变量到collection GraphKeys.GLOBAL_VARIABLES中。可以用global_variables()函数得到collection全局的上下文
在构建一个机器学习模型的时候,经常需要区别哪些变量是该模型控制的可训练的参数,哪些变量是全局变量用来计数训练步骤等,因此所有的变量构造器支持一个trainable=的参数。如果设为True,这个新变量添加到collection GraphKeys.TRAINABLE_VARIABLES中,表示是模型控制的可训练参数。可以用trainable_variables()函数得到collection可训练的上下文。
各种优化器类使用此collection优化变量的默认列表
相关文章推荐
- tensorflow API: tf.get_variable
- tensorflow API: tf.unsorted_segment_sum
- tensorflow API: tf.unsorted_segment_sum
- tensorflow API学习——tf.strided_slice
- tensorflow API:tf.set_random_seed
- tensorflow API:tf.reduce_sum
- tensorflow API:tf.split
- tensorflow variable_scope,tf.name_scope, tf.variable, tf.get_varible
- tensorflow API:tf.not_equal
- tf-8.Tensorflow Object Dection API 物体检测
- tensorflow API: tf.clip_by_value
- tensorflow API:tf.tile
- tensorflow API:tf.slice
- tensorflow API:tf.group
- tensorflow API : tf.summary
- tensorflow API:tf.truncated_normal
- tensorflow API:tf.argmin
- tensorflow API: tf.one_hot
- tensorflow API:tf.control_dependencies
- tensorflow variable_scope共享变量