Tensorflow学习教程------Fetch and Feed

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.]

 

posted @ 2017-10-07 13:27  qilibin  阅读(1372)  评论(0编辑  收藏  举报