【TensorFlow 1】操作变量

打印

在tf中直接打印只是输出变量格式,如:

1 #代码
2 data1 = tf.constant(2,dtype=tf.int32) #浮点数据
3 data2 = tf.Variable(10,name='var')
4 print(data1)
5 print(data2)
6 #显示
7 # 直接打印只是输出变量格式
8 Tensor("Const_1:0", shape=(), dtype=int32)
9 <tf.Variable 'var_1:0' shape=() dtype=int32_ref>

这是因为tf的操作都需要在session中进行。另外在操作变量时都需要用session进行初始化:

 1 data2 = tf.Variable(10,name='var')
 2 init = tf.global_variables_initializer()
 3 sess.run(init)
 4 print(sess.run(data2))
 5 sess.close()# 本行可相当于with关键字方法
 6 
 7 #with方法
 8 data2 = tf.Variable(10,name='var')
 9 init = tf.global_variables_initializer()
10 sess = tf.Session()
11 with sess:
12     sess.run(init)
13     print(sess.run(data2))

这样就能正常打印出来变量的值了。

常量和变量的四则运算

在tf中对常量和变量进行四则运算也需要调用tf的API:

data1 = tf.constant(6)
data2 = tf.constant(2)
dataAdd = tf.add(data1,data2) #
dataMul = tf.multiply(data1,data2) #
dataSub = tf.subtract(data1,data2) #
dataDiv = tf.divide(data1,data2) #
with tf.Session() as sess:  
    print(sess.run(dataAdd))
    print(sess.run(dataMul))
    print(sess.run(dataSub))
    print(sess.run(dataDiv))

对于变量的操作只需要对其进行初始化即可。

调用tf的API对变量初始化

对变量的初始化有另外两种方法:一是使用data.eval(),也可以用tf.get_default_session().run(data)都可以直接对变量进行初始化。

猜你喜欢

转载自www.cnblogs.com/mxiaoy/p/10778512.html