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创建xml的方法
Mar 10 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
Apr 08 Python
详解python调度框架APScheduler使用
Mar 28 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 Python
简单了解python PEP的一些知识
Jul 13 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 12 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 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
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
javascript document.compatMode兼容性
2010/02/23 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
说一说Python logging
2016/04/15 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
电力公司个人求职信范文
2014/02/04 职场文书
品酒会策划方案
2014/05/26 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
爱心募捐感谢信
2015/01/22 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
运动会宣传稿100字
2015/07/23 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS