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函数参数*args**kwargs用法实例
Dec 04 Python
python中使用enumerate函数遍历元素实例
Jun 16 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
Feb 22 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
20行python代码的入门级小游戏的详解
May 05 Python
简单了解python中对象的取反运算符
Jul 01 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
Python实现查找数据库最接近的数据
Jun 08 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
图书管理程序(一)
2006/10/09 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
jQuery 事件队列调整方法
2009/09/18 Javascript
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
Python迭代器和生成器介绍
2015/03/06 Python
python获取多线程及子线程的返回值
2017/11/15 Python
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
浅析python内置模块collections
2019/11/15 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
python语言中有算法吗
2020/06/16 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
2014年端午节活动方案
2014/03/11 职场文书
九华山导游词
2015/02/03 职场文书
收银员岗位职责
2015/02/03 职场文书
重阳节慰问信
2015/02/15 职场文书
认真学习保证书
2015/02/26 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
JS中如何优雅的使用async await详解
2021/10/05 Javascript
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python