Tensorflow中的placeholder和feed_dict的使用


Posted in Python onJuly 09, 2018

TensorFlow 支持占位符placeholder。占位符并没有初始值,它只会分配必要的内存。在会话中,占位符可以使用 feed_dict 馈送数据。

feed_dict是一个字典,在字典中需要给出每一个用到的占位符的取值。

在训练神经网络时需要每次提供一个批量的训练样本,如果每次迭代选取的数据要通过常量表示,那么TensorFlow 的计算图会非常大。因为每增加一个常量,TensorFlow 都会在计算图中增加一个结点。所以说拥有几百万次迭代的神经网络会拥有极其庞大的计算图,而占位符却可以解决这一点,它只会拥有占位符这一个结点。

placeholder函数的定义为

tf.placeholder(dtype, shape=None, name=None)

参数:

    dtype:数据类型。常用的是tf.int32,tf.float32,tf.float64,tf.string等数据类型。
    shape:数据形状。默认是None,也就是一维值。
           也可以表示多维,比如要表示2行3列则应设为[2, 3]。
           形如[None, 3]表示列是3,行不定。
    name:名称。

返回:Tensor类型

例1

import tensorflow as tf

x = tf.placeholder(tf.string)

with tf.Session() as sess:
  output = sess.run(x, feed_dict={x: 'Hello World'})
  print(output)

运行结果:Hello World

例2

import tensorflow as tf

x = tf.placeholder(tf.string)
y = tf.placeholder(tf.int32)
z = tf.placeholder(tf.float32)

with tf.Session() as sess:
  output = sess.run(x, feed_dict = {x :'Hello World', y:123, z:45.67})
  print(output)
  output = sess.run(y, feed_dict = {x :'Hello World', y:123, z:45.67})
  print(output)
  output = sess.run(z, feed_dict = {x :'Hello World', y:123, z:45.67})
print(output)

运行结果:

Hello Word
123
45.66999816894531

例3:

import tensorflow as tf
import numpy as np

x = tf.placeholder(tf.float32, shape=(3, 3)) 
y = tf.matmul(x, x) 
 
with tf.Session() as sess:  
  rand_array = np.random.rand(3, 3)
print(sess.run(y, feed_dict = {x: rand_array}))

运行结果:

[[0.62475741  0.40487182  0.5968855 ]
 [0.17491265  0.08546661  0.23616122]
 [0.53931886  0.24997233  0.56168258]]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Python画ROC曲线和AUC值计算
Sep 19 Python
python中文分词教程之前向最大正向匹配算法详解
Nov 02 Python
Python温度转换实例分析
Jan 17 Python
python numpy 部分排序 寻找最大的前几个数的方法
Jun 27 Python
Python实现简单的用户交互方法详解
Sep 25 Python
Flask实现跨域请求的处理方法
Sep 27 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
浅谈Django中view对数据库的调用方法
Jul 18 Python
python做接口测试的必要性
Nov 20 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
python读取mysql数据绘制条形图
Mar 25 Python
Python基于Tkinter编写crc校验工具
May 06 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 #Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 #Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 #Python
将tensorflow的ckpt模型存储为npy的实例
Jul 09 #Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 #Python
利用Python如何生成便签图片详解
Jul 09 #Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 #Python
You might like
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
javascript回到顶部特效
2016/07/30 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
vue中的router-view组件的使用教程
2018/10/23 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
Python 深入理解yield
2008/09/06 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python binascii 进制转换实例
2019/06/12 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
应聘护士自荐信
2013/10/21 职场文书
安全责任书范文
2014/03/12 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
交通事故被告代理词
2015/05/23 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
中学音乐课教学反思
2016/02/18 职场文书
教育教学工作反思
2016/02/24 职场文书
创业计划书之酒店
2019/08/30 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python