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 HTTP客户端自定义Cookie实现实例
Apr 28 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
Aug 08 Python
python sys.argv[]用法实例详解
May 25 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
python绘制中国大陆人口热力图
Nov 07 Python
pandas的qcut()方法详解
Jul 06 Python
python实现批量nii文件转换为png图像
Jul 18 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
Keras设置以及获取权重的实现
Jun 19 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
python 生成正态分布数据,并绘图和解析
Dec 21 Python
Python使用Kubernetes API访问集群
May 30 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 Undefined index报错的修复方法
2011/07/17 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
Firefox window.close()的使用注意事项
2009/04/11 Javascript
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
深入理解javascript作用域和闭包
2014/09/23 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
nodejs实现百度舆情接口应用示例
2020/02/07 NodeJs
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
python实现学生通讯录管理系统
2021/02/25 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
便利店投资的创业计划书
2014/01/12 职场文书
空气环保标语
2014/06/12 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏