《TensorFlow 与卷积神经网络 (从算法到入门)》学习笔记
tf.placeholder(
dtype, # 占位符数据类型
shape=None, # 占位符的shape
name=None # 占位符的名称
)
tf.placeholder() 既可以看成常量又可以看成变量,是因为在将数据填入到占位符后,其值在图中就不能再做修改(即不能通过asign等函数修改值),但是在图之外又可以不断传入不同的值,比如在训练的时候,可以向图中不断传入不同的图片数据。
import tensorflow as tf
B = [[1, 1],
[1, 1],
[1, 1]]
A_tf = tf.placeholder(dtype=tf.float32, shape=[2, 3])
B_tf = tf.constant(B, dtype=tf.float32, shape=[3, 2])
C_tf = tf.matmul(A_tf, B_tf)
with tf.Session() as sess:
A1 = [[1, 2, 3], [1, 2, 3]]
A2 = [[4, 5, 6], [4, 5, 6]]
A_list = [A1, A2]
for A in A_list:
C = sess.run(C_tf, feed_dict={A_tf: A})
print('\nC value:', C)
# 输出为:
# C value: [[6 6]
# [6 6]]
#
# C value: [[15 15]
# [15 15]]
feed_dict参数是一个字典对象,所有占位符的值都可以通过 feed_dict 参数传入