tensorflow学习之路---Session、Variable(变量)和placeholder
1、Session
'''
Session.run():首先里面的参数是一个API(函数的接口)的返回值或者是指定参数的值;功能:得知运算结果
有两种访问方式:直接建立或者运用with语句(这个会帮我们自动关闭会话)
'''
import tensorflow as tf
#创建两个参数
matrixl = tf.constant([[4,5]])#表示常量
matrix2 = tf.constant([[3],[5]])
#矩阵相乘
product = tf.matmul(matrixl,matrix2)
sess = tf.Session()
reslut = sess.run(product)
print(reslut)
sess.close()
with tf.Session() as sess1:
reslut = sess.run(product)
print(reslut)
2、Variable
定义变量的方式:
tf.Variable(初始值),其中的参数也可以是:name = " 字符串"
import tensorflow as tf
#定义变量,一定要能是变量
state = tf.Variable(0,name="counter")
#打印变量的名字
#print(state.name)
data = tf.constant(3)#定义常量
new_data = tf.add(state,data)
data2 = tf.assign(state,new_data)
init = tf.global_variables_initializer()#只有初始化所有的tf中的变量之后,才能使用
with tf.Session() as sess:
sess.run(init)
for i in range(3):
sess.run(data2)#要改变制定才参数的值,就要执行能够改变这个参数的值的函数
print(sess.run(state))
3、placeholder
#这个不需要初始化,但是要在Session.run()中的参数,不仅仅只有函数的返回值,还有
#feed_dict={}里面是字典的形式写入的,有多少个placeholder式的变量,就写多少个键值对
import tensorflow as tf
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.subtract(input1,input2)
with tf.Session() as sess:
print(sess.run(output,feed_dict={input1:4,input2:6}))
注意:placeholder与Variable最大的不同是,placeholder不需要初始化