最简单的数据导入方式是使用Feeding:即把输入设定成一个不需要初始化值的placeholder
。
input1 = tf.placeholder(tf.float32, shape=[2])
input2 = tf.placeholder(tf.float32, shape=[2])
placeholder创建的是一类特殊的Tensor
,可以直接用来构建Graph
output = input1 + input2
在每次执行output
之前,要准备好具体的输入数据(例如numpy数组):
data1 = numpy.array([0.5, 0.6])
data2 = numpy.array([1.0, 2.0])
执行时,要把具体数据用feed_dict
参数传入run
函数:
sess = tf.Session()
output_val = sess.run(output, feed_dict={input1: data1, input2: data2})
print(output_val)
实际应用中,往往在读取数据函数中维护一个计数变量,每次调用返回一个batch的数据:
for step in xrange(100):
data1, data2 = read_next_batch()
output_val = sess.run(output, feed_dict={input1: data1, input2: data2})
这里的read_next_batch函数返回的是真实数据,不是符号运算。