fetch用法
fetch:在会话中,可以同时执行多个op,得到运行结果。
使用方法:sess.run([op1,op2,…,opn])
练习:使用fetch同时运行多个op
import tensorflow as tf
#定义三个常量
input1=tf.constant(5.0)
input2=tf.constant(2.0)
input3=tf.constant(3.0)
#定义乘法op、加法op
add=tf.add(input2,input3)
mul=tf.multiply(input1,add)
#定义会话
with tf.Session() as sess:
#fetch:run中可以同时运行多个op,用[]括起来即可
result=sess.run([mul,add])
print(result)
运行结果:[25.0, 5.0]
feed用法
首先介绍一下tensorflow中的占位符。所谓占位符,就是不知道需要计算的数据具体是什么,提前给要处理的数据占一个位置,在会话中运行的时候再把具体的数据传入。在tensorflow中使用placeholder来定义占位符。
#定义一个占位符input1,将来在会话中运行的时候传入的数据是float32类型
input1=tf.placeholder(tf.float32)
定义好占位符之后,在会话中运行op的时候,把需要处理的数据传入即可。
tensorflow中的feed就表示,在会话运行的时候中喂入数据。
注意:
(1)使用feed时,需要提前定义占位符
(2)使用feed喂入数据时,传入数据使用的是字典的形式
feed的使用方法:
sess.run(output,feed_dict={input1:[3.0],input2:[2.0]})
练习:使用feed喂入数据
import tensorflow as tf
#定义两个占位符
input1=tf.placeholder(tf.float32)
input2=tf.placeholder(tf.float32)
#定义乘法op
#传入的数值是不确定的,只是用input1和input2占一个位置,在运行乘法op的时候传入数据
output=tf.multiply(input1,input2)
#定义会话
with tf.Session() as sess:
#feed的数据以字典的形式传入
print(sess.run(output,feed_dict={input1:[3.0],input2:[2.0]}))
运行结果:[6.]