在Tensorflow中如果我们要从外部输入数据,就要用到placeholder,当然placeholder也是一个tensor,可以接受任何维度的tensor数据,比如向量,矩阵,图像等
import tensorflow as tf
import numpy as np
a=tf.placeholder(tf.float32)#声明a作为placeholder接收float32的数据
b=tf.placeholder(tf.float32)#声明b作为placeholder接收float32的数据
adder_node=a+b#对两个placeholder输入的tensor数据做加法
c=tf.placeholder(tf.float32)#声明c作为placeholder接收float32的数据
adder_and_triple= adder_node*c #执行(a+b)*c
with tf.Session() as sess:
print(sess.run(adder_node,{a:5,b:7}))#这里placeholder输入的为rank=0的tensor数据
print(sess.run(adder_node,{a:[[6,9],[6,10],[12,3]],b:[[4,5],[36,13],[23,35]]}))#placeholder输入的位rank=2的tensor数据
print(sess.run(adder_and_triple,{a:[8,9],b:[1,6],c:3}))#a,b为rank=1的tensor数据,c为rank=0的tensor数据
执行的结果为
12.0
[[ 10. 14.]
[ 42. 23.]
[ 35. 38.]]
[ 27. 45.]
在实际的机器学习中,我们可以用tensor输入任何类型的tensor数据,作为神经元的输入数据