Fetch的意思就是在一個會話(session)中可以同時運行多個op。
#coding:utf-8 import tensorflow as tf #Fetch input1 = tf.constant(3.0) input2 = tf.constant(1.0) input3 = tf.constant(5.0) add = tf.add(input1,input2) mul = tf.multiply(input1,add) with tf.Session() as sess: result = sess.run([mul,add]) #同時運行兩個op print (result)
結果
Total memory: 10.91GiB Free memory: 10.21GiB I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0) [12.0, 4.0]
Feed的字面意思是喂養,流入。在tensorflow里面就是說先聲明一個或者幾個tensor,先用占位符給他們留幾個位置,等到后面run的時候,再以其他形式比如字典的形式把值傳進去,相當於買了兩個存錢罐,先不存錢,等我想存的時候我再把錢一張一張“喂”進去。
#Feed #創建占位符 input1 = tf.placeholder(tf.float32) input2 = tf.placeholder(tf.float32) output = tf.multiply(input1,input2) with tf.Session() as sess: #feed的數據以字典的形式傳入 print (sess.run(output,feed_dict={input1:[7.], input2:[8.]}))
結果
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0)
[ 56.]
