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基础语法(Python基础知识点)
Feb 28 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
Dec 09 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
Python函数和模块的使用总结
May 20 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
Anaconda 查看、创建、管理和使用python环境的方法
Dec 03 Python
python通过opencv实现图片裁剪原理解析
Jan 19 Python
pytorch数据预处理错误的解决
Feb 20 Python
Django3中的自定义用户模型实例详解
Aug 23 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脚本的10个技巧(4)
2006/10/09 PHP
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
onpropertypchange
2006/07/01 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
python实现黑客字幕雨效果
2018/06/21 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
中学生团员自我评价分享
2013/12/07 职场文书
10的分与合教学反思
2014/04/30 职场文书
大学生社会实践方案
2014/05/11 职场文书
优秀班主任材料
2014/12/16 职场文书
投标邀请书范本
2015/02/02 职场文书
公司宣传语大全
2015/07/13 职场文书
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android