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 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
Python访问MySQL封装的常用类实例
Nov 11 Python
Python2实现的LED大数字显示效果示例
Sep 04 Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 Python
python中下标和切片的使用方法解析
Aug 27 Python
pytorch 自定义参数不更新方式
Jan 06 Python
Python requests获取网页常用方法解析
Feb 20 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 Python
分享python函数常见关键字
Apr 26 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的5个入手程序
2006/11/23 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
php常用数学函数汇总
2014/11/21 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
python配置grpc环境
2019/01/01 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
简单介绍python封装的基本知识
2019/08/10 Python
python类中super() 的使用解析
2019/12/19 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
承认错误的检讨书
2014/01/30 职场文书
车间机修工岗位职责
2014/02/28 职场文书
国庆节演讲稿
2014/05/27 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
python实现的web监控系统
2021/04/27 Python
浅谈MySQL之select优化方案
2021/08/07 MySQL
Python安装使用Scrapy框架
2022/04/12 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python