以前不知道tf.placeholder的feed_dict格式要求,以为随便是什么格式都可以,直到自己在做测试的时候出现以下错误才知道tf.placeholder  的feed_dict填充内容不可以是tensor格式的,对自己来说反而方便很多。

TypeError: The value of a feed cannot be a tf.Tensor object. Acceptable feed values include Python scalars, strings, lists, numpy ndarrays, or TensorHandles.

placeholder的作用:1)占位符作用,为待处理数据生成tensor对象,在未来的graph中占据一席之地,但这些tensor只有格式和shape,没有实际内容。

2)placeholder与feed_dict结合的另外一个潜在作用是,将numpy等格式的输入数据转换成tensor需要的格式,方便在tensorflow中流动。

自己对tensorflow的一些理解:

1)tensorflow中的tensor不是数学意义上的张量,数学意义上的张量是实实在在的数据,tensorflow中的tensor的实际意义是操作(operation,op)或者函数。如:

y = f(x)

z=g(y)

则:z=g(f(x))

在传统的数学意义上,张量对应的是实实在在的数据x,y,z,

在tenforflow中,tensor的意义是操作,是函数,即tf.tensor对应的是 f(),g(),g(f()),是一种映射关系,没有、也不代表真实数据

因此,在获取张量的值的时候需要用sess.run(tensor),因为,tensor仅仅代表映射关系,如果不执行这个映射,就不会有映射的结果输出。

2)tensorflow中的graph实际上是一个映射关系树,graph上的每个节点可以看作是基本映射关系的组合,但仍旧是映射关系。

可以把tensorflow中的graph比作一个水暖的暖气系统。

每个暖气片可以看作tensor,该tensor的作用是散热。

暖气片下方有个放水的水龙头,代表tensorflow中的 sess.run()功能,执行sess.run()相当于打开水龙头,得到暖气系统流经该暖气片之后的水。

tensorflow的placeholder可以看作暖气系统的加水处,水是输入数据。

如果不加水,整个暖气系统也是完整的,但不能起到任何作用。

加水之后,水就可以流到各个可以到达的张量处,但要想得到张量中的数据,需要打开它的水龙头,即对该张量执行sess.run()

tensorflow的每个节点,可以看作一系列暖气片的串并联等方式的组合,最后给出一个水龙头。即,每个暖气片都有一个自己的水龙头,每个暖气片组有再添加一个总的与主干道接通的水龙头。

所以,要想从tensorflow中的某个张量处得到水,首先需要在注水处添上水,然后需要打开对应暖气片或暖气片组的水龙头。

3)要想得到映射关系的结果,首先需要填入输入数据(feed_dict),然后需要驱动该映射的执行(sess.run())

前程任重而道远,自己虽然很水,还需脚踏实地力前行。

文章原创,如有不当,欢迎拍砖指正,如需转载,请注明出处!https://blog.csdn.net/Strive_For_Future/article/details/82463923

对tensorflow中的tensor、placeholder及feed_dict的理解相关推荐

  1. 5个简单步骤掌握TensorFlow中的Tensor

    在这篇文章中,我们将深入研究Tensorflow Tensor的实现细节.我们将在以下五个简单步骤中介绍与Tensorflow的Tensor中相关的所有主题: 第一步:张量的定义→什么是张量? 第二步 ...

  2. 如何保存Tensorflow中的Tensor参数,保存训练中的中间参数,存储卷积层的数据

    在自己构建的卷积神经时,我想把卷积层的数据提取出来,但是这些数据是Tensor类型的 网上几乎找不到怎么存储的例子,然后被我发下了一下解决办法 https://stackoverflow.com/qu ...

  3. tensorflow中对lstm及双向lstm的理解

    双向RNN(LSTM)的实现参考: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_Neural ...

  4. TensorFlow 中文文档 介绍

    介绍 本章的目的是让你了解和运行 TensorFlow 在开始之前, 先看一段使用 Python API 撰写的 TensorFlow 示例代码, 对将要学习的内容有初步的印象. 这段很短的 Pyth ...

  5. tensorflow中的正则化函数在_『TensorFlow』正则化添加方法整理

    一.基础正则化函数 tf.contrib.layers.l1_regularizer(scale, scope=None) 返回一个用来执行L1正则化的函数,函数的签名是func(weights). ...

  6. Tensorflow 中添加正则化项

    为防止网络过拟合,在损失函数上增加一个网络参数的正则化项是一个常用方法,下面介绍如何在Tensorflow中添加正则化项. tensorflow中对参数使用正则项分为两步: step1: 创建一个正则 ...

  7. Tensorflow中placeholder传入值与feed_dict喂食器的联系与用法

    1.placeholder传入值 可以理解为提前占据一个存储空间,比如说你在一个城市中心买了一套房子,这个房子你也不知道是用来放货物还是用来住人的,但是你可以提前将这栋房子买下来,等以后再说以后的事情 ...

  8. tensorflow中的placeholder()

    tensorflow 中在运行时动态设置某个变量的值,先使用placeholder占位.运行时动态给占位符"喂"数据. 用tf.placeholder占位 import tenso ...

  9. TensorFlow中Session.run和Tensor.eval的区别

    之前在TensorFlow中运行代码时,在会话中会需要运行节点,会碰到两种方式:Session.run()和Tensor.eval(),刚开始不太懂这两者之间的差异,最后通过查找官方文档和一些资料了解 ...

最新文章

  1. 王甲佳全息营销系列03-离散集聚式地方机构建设与全息营销活动设计实践
  2. 什么是schema?
  3. c++对vector中的元素进行随机排序
  4. arrive get
  5. 【原创】“三次握手,四次挥手”你真的懂吗?
  6. html表单action属性值,HTML中的form表单中的action属性
  7. osgearth_annotation示例
  8. php如何删除服务器图片,php如何删除服务器文件
  9. Selinux学习笔记----术语
  10. 计算机底部怎么不显示网络连接图标不见了,电脑任务栏不显示网络连接图标怎么办...
  11. matlab光滑曲线链接,在Matlab中使用光滑曲线连接点
  12. 版本控制git之一-仓库管理
  13. SEO知识:百度谷歌搜狗谷歌必应搜索引擎蜘蛛的特点
  14. 谈谈创业公司给服务器放在云端的优势和缺陷
  15. 移动通信:数字调制技术(BPSK, DPSK, QPSK, Π/4 QPSK,BFSK, MSK, GMSK, M-ary)学习笔记
  16. mysql聚类函数排序_聚类算法大盘点 - 如鱼饮水,冷暖自知 - OSCHINA - 中文开源技术交流社区...
  17. w ndows8重装,如何重装windows8系统-系统城
  18. job处理缓慢的性能问题排查与分析(r4笔记第18天)
  19. 【PowerDesigner】一款超好用的E-R图工具,快速构建出高质量的数据库结构,提高开发效率和代码质量
  20. Symbian OS通讯录

热门文章

  1. html 链接 vf,VFP中超链接实现方法
  2. dapperpoco mysql_DapperPoco -- 基于Dapper的、轻量级的、高性能的、简单的、灵活的ORM框架...
  3. 计算机考试只读,计算机基础考试试题-20210710011550.docx-原创力文档
  4. 鸽主姓名查询成绩_SQL学习之旅-Select简单查询
  5. java 字符串函数_Java字符串函数– 25+必须知道方法
  6. python元组_Python元组
  7. java输入一串字符串反转_反转Java中的字符串
  8. 苹果x翻新机序列号开头_Android翻新电话每隔X秒
  9. ThreadPoolExecutor – Java线程池示例
  10. 迅捷cad_迅捷结构