tf.placeholde函数解释与用法
函数原型:tf.placeholder(dtype, shape=None, name=None)
使用说明:该函数用于得到传递进来的真实的训练样本。同时也可以理解为形参,
用于定义过程,在执行的时候再赋具体的值。(相当于首先定义一个容器,包含容量、size等信息,真正调用的时候再往容器里面注入东西)
注意:不必指定初始值,可以在运行时,通过Session.run 函数的参数”feed_dict={x : value}”进行赋值
参数说明:
dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
shape:数据形状。默认是None,就是一维值,也可以是多维,比如[1,2,3]
name:名称
实例:
import tensorflow as tf
import numpy as np
x = tf.placeholder(tf.float32, shape=[24, 24])
y = tf.matmul(x, x)
with tf.Session() as sess:
print(sess.run(y)) # ERROR: 此处x还没有赋值.
rand_array = np.random.rand(24,24)
print(sess.run(y, feed_dict={x: rand_array})) # 这一步 x 将被赋值
补充一点:
与tf.Variable 不同,tf.Variable 主要用于一些可训练变量(trainable variables),例如模型权重(weight)或者偏差值(bias)。
tf.Variable 在声明变量时,必须提供初始值。可以认为其声明的就是一个实参。名称的真是含义在于变量,换句话说变量的值会改变。