tf.placeholder函数说明
函数形式:
tf.placeholder(
dtype,
shape=None,
name=None
)
参数:
dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3], [None, 3]表示列是3,行不定)
name:名称
为什么要用placeholder?
Tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等)不同,graph为静态的,类似于docker中的镜像。然后,在实际的运行时,启动一个session,程序才会真正的运行。这样做的好处就是:避免反复地切换底层程序实际运行的上下文,tensorflow帮你优化整个系统的代码。我们知道,很多python程序的底层为C语言或者其他语言,执行一行脚本,就要切换一次,是有成本的,tensorflow通过计算流图的方式,帮你优化整个session需要执行的代码,还是很有优势的。
所以placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时并没有把要输入的数据传入模型,它只会分配必要的内存。等建立session,在会话中,运行模型的时候通过feed_dict()函数向占位符喂入数据。
代码示例:
import tensorflow as tf
import numpy as np
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1, input2)
with tf.Session() as sess:
print sess.run(output, feed_dict = {input1:[3.], input2: [4.]})
import tensorflow as tf
import numpy as np
x = tf.placeholder(tf.float32, shape=(1024, 1024))
y = tf.matmul(x, x)
with tf.Session() as sess:
#print(sess.run(y)) # ERROR:此处x还没有赋值
rand_array = np.random.rand(1024, 1024)
print(sess.run(y, feed_dict={x: rand_array}))
参考资料:https://www.jianshu.com/p/ec261a65e3c9
---------------------
作者:清晨的光明
来源:CSDN
原文:https://blog.csdn.net/kdongyi/article/details/82343712
版权声明:本文为博主原创文章,转载请附上博文链接!
tf.placeholder函数说明相关推荐
- Tensorflow tf.placeholder函数
tf.placeholder(dtype, shape=None, name=None) 此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值 参数: dtype:数据类型.常用的是tf.fl ...
- tf.placeholder函数的用法
Tensorflow中的palceholder,中文翻译为占位符 在代码层面,每一个tensor值在graph上都是一个op,当我们将train数据分成一个个minibatch然后传入网络进行训练时, ...
- 记录 之 tf.placeholder() 函数的意义及用法
函数原型: tf.placeholder(dtype, shape=None, name=None) 参数释义:1.dtype:数据类型.常用的是tf.float32,tf.float64等数值类型 ...
- tensorflow tf.placeholder()(相当于创建变量分配内存空间,但不赋值)
为什么要用placeholder? Tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等) ...
- 【TensorFlow】占位符:tf.placeholder,与feed_dict
Tensorflow中的placeholder和feed_dict的使用_python_ https://www.jb51.net/article/143407.htm TensorFlow 支持占位 ...
- tf.Graph()函数
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,Tensor ...
- tf.placeholder类似函数中的形参
tf.placeholder(dtype, shape=None, name=None) 此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值 参数: dtype:数据类型.常用的是tf.fl ...
- tensorflow使用tf.placeholder会报错
tensorflow版本安装问题 原因是1版本的很多函数到2版本中没有了 比如使用tf.placeholder都会报错,显示不存在该函数 很多地方建议使用下面的方法,我试了之后发现也没法解决,原因是t ...
- 【转载】使用tf.py_func函数增加Tensorflow程序的灵活性
转自:https://blog.csdn.net/jiongnima/article/details/80555387 目录 tf.py_func函数接口 tf.py_func在Faster R-CN ...
最新文章
- 临时对象与NRV技术
- docker下的mysql my.ini_Docker + MySQL 主从环境搭建
- python中如何打开csv文件_在Python中从CSV文件读取数据
- 基于小波变换的图像压缩解压缩仿真
- uml 工具_UML建模工具更新202008(1)Rhapsody名字不再有Rational
- python 指定端口读取网站_Python实现局域网指定端口扫描
- UVAlive 6131 dp+斜率优化
- Qt文档阅读笔记-Object Model初步解析
- ubuntu安装python_与你分享Ubuntu修改源和安装pycharm
- 华为 5G 遭受致命一击!
- 五种主流的linux操作系统,五款常用的Linux操作系统
- ARM 与 STM32 的关系
- 【计组】5.4 控制器设计
- Java集成华为云对象存储
- 【小白向】简单随意DIY你的U盘图标
- Clustering coefficient的计算
- 【DFT】DFT入门介绍
- 乘法器——booth编码
- iOS 下载开始的时候获取将要下载完成的文件的大小
- 了解多线程并通过Python程序实现多线程解决资源竞争、死锁等问题【非常详细】