1。tf.placeholder(dtype, shape=None,name=None)
# dtype:数据类型,常用的是tf.float32数值类型
# shape:数据形状,默认是None,就是一维值,也可以是多维(比如[1,6], [4, None]表示行是4,列不定)
# name:名称
2。作用:在神经网络构建graph的时候在模型中的占位
这是因为:tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等)不同,graph为静态的,类似于docker中的镜像。然后,在实际的运行时,启动一个session,程序才会真正的运行。tf.placeholder()就是为模型中的变量占位的,也就是说只是先占用内存,实际模型中需要的数据要等待在session打开后使用feed_dict() 真正喂给它。这样做的好处就是:避免反复地切换底层程序实际运行的上下文,tensorflow帮你优化整个系统的代码。我们知道,很多python程序的底层为C语言或者其他语言,执行一行脚本,就要切换一次,是有成本的,tensorflow通过计算流图的方式,帮你优化整个session需要执行的代码,提升代码执行的效率。
参考1:
作者:phusFuNs
链接:https://www.jianshu.com/p/ec261a65e3c9
来源:简书