占位符与数据喂入机制
placeholder是TensorFlow提供的占位符节点,由tf.placeholder()函数创建,其实质上也是一种变量。占位符没有初始值,只会分配必要的内存,其值由会话中用户调用的run()函数传递。
占位符声明的方法如表
函数 | 说明 |
tf.placeholder( dtype, shape=None,name=None ) | 创建一个指定形状的占位符节点。 dtype:数据类型,必选,默认为value的数据类型。 shape:数据形状,必选,默认为None,即一维值。也可以是多维,如[2,3],[None,3]表示列为3,行不定 name:占位符名,可选。默认值不重复 |
数据喂入
TensorFlow的数据供给机制允许在TensorFlow计算图中将数据注入任意张量中,然而却需要设置placeholder节点,通过run()函数输入feed_dict参数,可以启动运算过程。
placeholder节点被声明的时候是未被初始化的,也不包括任何数据,如果没有为它供给数据,则TensorFlow计算图运算的时候会产生错误。
以下代码演示了如何向模型中喂入数据
import tensorflow as tf
a = tf.placeholder(dtype=tf.int16)
b = tf.placeholder(dtype=tf.int16) #2-3行定义a和b两个整型占位符节点
add = tf.add(a,b) #a与b相加
mul = tf.multiply(a,b) #a与b相乘
with tf.Session() as sess:print('相加: %i' % sess.run(add,feed_dict={a:3,b:4}))print('相乘: %i' % sess.run(mul,feed_dict={a:3,b:4}))
模型的保存和恢复:https://blog.csdn.net/weixin_45626468/article/details/115662057