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 相关文章推荐
python3使用tkinter实现ui界面简单实例
Jan 10 Python
在Python中使用lambda高效操作列表的教程
Apr 24 Python
Python解决N阶台阶走法问题的方法分析
Dec 28 Python
Python基于列表模拟堆栈和队列功能示例
Jan 05 Python
深入浅析Python传值与传址
Jul 10 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
python实现图片压缩代码实例
Aug 12 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
python 动态迁移solr数据过程解析
Sep 04 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
Python如何将字符串转换为日期
Jul 31 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 zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
php二分查找二种实现示例
2014/03/12 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
php实现微信公众号无限群发
2015/10/11 PHP
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
vue实现浏览器全屏展示功能
2019/11/27 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
python中的装饰器详解
2015/04/13 Python
解读Python编程中的命名空间与作用域
2015/10/16 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
2013的个人自我评价
2013/12/26 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
新年团拜会主持词
2014/04/02 职场文书
房产公证书范本
2014/04/10 职场文书
项目合作协议书范本
2014/04/16 职场文书
售后客服个人自我评价
2014/09/14 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript
Pytorch可视化的几种实现方法
2021/06/10 Python
MySQL分区表管理命令汇总
2022/03/21 MySQL