TensorFlow之变量操作
2019-04-20 本文已影响0人
你要好好学习呀
import tensorflow as tf
a=3
#TensorFlow中使用 tf.Variable 类操作变量。tf.Variable 表示可通过对其运行操作来改变其值的张量
w=tf.Variable([[0.5,1.0]])#tensorflow的tf.matmul()只能进行矩阵之间相乘,不能进行矩阵和向量相乘
x = tf.Variable([[2,0],[1,0]])
y=tf.matmul(w,tf.cast(x,tf.float32))#改类型用tf.cast()函数
#变量必须先初始化后才可使用
# 要在训练开始前一次性初始化所有可训练变量,请调用 tf.global_variables_initializer()。此函数会返回一个操作,负责初始化 tf.GraphKeys.GLOBAL_VARIABLES 集合中的所有变量
init_op=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
print(w)#由此可知,上述语句只会构建计算图。这些 tf.Tensor 对象仅代表将要运行的操作的结果。
print(x)
print(y.eval())#tensorflow有两种方式:Session.run和 Tensor.eval,这两者的区别:可以使用sess.run()在同一步获取多个tensor中的值
'''
t = tf.constant(42.0)
u = tf.constant(37.0)
tu = tf.mul(t, u)
ut = tf.mul(u, t)
with sess.as_default():
tu.eval() # runs one step
ut.eval() # runs one step
sess.run([tu, ut]) # evaluates both tensors in a single step
'''