变量
TensorFlow变量是表示程序处理的共享持久状态的最佳方法。变量通过 tf.Variable OP类进行操作。变量是tensor的一种
1.变量的特点
1.存储持久化
2.可修改值
3.可指定被训练
2.创建变量
tf.Variable( initial_value=None,trainable=True,collections=None ,name=None)
- initial_value:初始化的值
- trainable:是否被训练
- collections:新变量将添加到列出的图的集合中collections,默认为[GraphKeys.GLOBAL_VARIABLES],如果trainable是True变量也被添加到图形集合 GraphKeys.TRAINABLE_VARIABLES 变量需要显式初始化,才能运行值
查看打印出来的是什么
import tensorflow as tf
a = tf.Variable(initial_value=20.0)
b = tf.Variable(initial_value=30.0)
sum_ab = tf.add(a,b)
print(a,b,sum_ab)
打印出来的结果返回的是variable,所以
-
<mark>大部分的节点:操作接受可以是tensor类型的数据也可以是variable数据类型,都代表数据,类型不一样返回都是tensor数组类型</mark>
-
<mark>tf.variable 接受的可以是tensor 返回的是variable</mark>
打印变量的值【注意一定要初始化变量,然后还要在会话中运行一下】
import tensorflow as tf
a = tf.Variable(initial_value=20.0) # 没有赋值,还需要初始化
b = tf.Variable(initial_value=30.0)
sum_ab = tf.add(a, b)
# 运行之前初始化变量
init = tf.global_variables_initializer()
print(a, b, sum_ab)
# 【手动初始化变量!!!然后运行一下!!!】
with tf.Session() as sess:
sess.run(init) # 运行一下初始化的变量才可以用哦
print(sess.run(sum_ab))
2.使用tf.variable_scope()修改变量的命名空间
会在OP的名字前面增加命名空间的指定名字
import tensorflow as tf
#使用tf.variable_scope()修改变量的命名空间
with tf.variable_scope("name"):
a = tf.Variable(name = "var",initial_value=20.0) # 没有赋值,还需要初始化
b = tf.Variable(name = "var",initial_value=30.0)
sum_ab = tf.add(a, b)
# 运行之前初始化变量
init = tf.global_variables_initializer()
print(a, b, sum_ab)
# 【手动初始化变量!!!然后运行一下!!!】
with tf.Session() as sess:
sess.run(init) # 运行一下初始化的变量才可以用哦
print(sess.run(sum_ab))