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 相关文章推荐
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
用Python实现服务器中只重载被修改的进程的方法
Apr 30 Python
python实现将文本转换成语音的方法
May 28 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python学生信息管理系统
Mar 13 Python
python模拟表单提交登录图书馆
Apr 27 Python
基于python的Paxos算法实现
Jul 03 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
Python selenium页面加载慢超时的解决方案
Mar 18 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 24 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个技巧(1)
2006/10/09 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
python编写分类决策树的代码
2017/12/21 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
python如何从键盘获取输入实例
2020/06/18 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
教导处工作制度
2014/01/18 职场文书
七年级地理教学反思
2014/01/26 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers
python playwrigh框架入门安装使用
2022/07/23 Python