eval() 其实就是tf.Tensor的Session.run() 的另外一种写法,但两者有差别

  1. eval(): 将字符串string对象转化为有效的表达式参与求值运算返回计算结果
  2. eval()也是启动计算的一种方式。基于Tensorflow的基本原理,首先需要定义图,然后计算图,其中计算图的函数常见的有run()函数,如sess.run()。同样eval()也是此类函数,
  3. 要注意的是,eval()只能用于tf.Tensor类对象,也就是有输出的Operation。对于没有输出的Operation, 可以用.run()或者Session.run();Session.run()没有这个限制。
Tensor.run和Tensor.eval的区别

在会话中需要运行节点,会碰到两种方式:Session.run()和Tensor.eval()

  • 解释一

    1. 如果t是一个tf.Tensor对象,则tf.Tensor.eval是tf.Session.run的缩写(其中sess是当前的tf.get_default_session。下面的两个代码片段是等价的:
    2. 在第二个示例中,会话充当上下文管理器,其作用是将其安装为with块的生命周期的默认会话。 上下文管理器方法可以为简单用例(比如单元测试)提供更简洁的代码; 如果您的代码处理多个图形和会话,则可以更直接地对Session.run()进行显式调用。
  • 解释二

如果你有一个Tensor t,在使用t.eval()时,等价于:tf.get_default_session().run(t).
举例:

t = tf.constant(42.0)
sess = tf.Session()
with sess.as_default():   # or `with sess:` to close on exitassert sess is tf.get_default_session()assert t.eval() == sess.run(t)

这其中最主要的区别就在于你可以使用sess.run()在同一步获取多个tensor中的值,
例如:

t = tf.constant(42.0)
u = tf.constant(37.0)
tu = tf.mul(t, u)
ut = tf.mul(u, t)
with sess.as_default():tu.eval()  # runs one steput.eval()  # runs one stepsess.run([tu, ut])  # evaluates both tensors in a single step

注意到:每次使用 eval 和 run时,都会执行整个计算图,为了获取计算的结果,将它分配给tf.Variable,然后获取。

TensorFlow(九)eval函数相关推荐

  1. DL之DNN:基于Tensorflow框架对神经网络算法进行参数初始化的常用九大函数及其使用案例

    DL之DNN:基于Tensorflow框架对神经网络算法进行参数初始化的常用九大函数及其使用案例 目录 基于Tensorflow框架对神经网络算法进行初始化的常用函数及其使用案例 1.初始化的常用函数

  2. 深度学习(31)随机梯度下降九: Himmelblau函数优化实战

    深度学习(31)随机梯度下降九: Himmelblau函数优化实战 1. Himmelblau函数 2. 函数优化实战 1. Himmelblau函数 Himmelblau函数是用来测试后话算法的常用 ...

  3. 微信小程序开发之不能使用eval函数的问题

    2019独角兽企业重金招聘Python工程师标准>>> 一 eval函数问题 JavaScript中的eval函数是颇受开发者争议的问题之一,问题主要在于其可能导致的不安全性.有关此 ...

  4. python中eval()函数的使用

    python中eval()函数的使用 python eval函数功能:将字符串str当成有效的表达式来求值并返回计算结果. 函数定义: eval(expression, globals=None, l ...

  5. python中的EVAL函数的定义和用法!

    https://blog.csdn.net/weixin_42859280/article/details/84673079 Python 内置函数 Python 内置函数 描述: eval() 函数 ...

  6. 简单介绍python的input,print,eval函数

    这篇文章主要为大家概述了python的input,print,eval函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助 input()函数 input()函数可以通过控制台 ...

  7. Python中eval函数的表达式如何使用

    这篇文章主要介绍了Python中eval函数的表达式用法示例,文中通过示例对比来为大家进行详细的讲解,有需要的朋友可以借鉴参下,希望有所帮助 eval 是干嘛的? 解析字符串表达式并执行,并返回一个值 ...

  8. js的eval函数解析后台返回的json数据时为什加上圆括号eval((+data+)),而HTML页面定义的数据不用...

    一,情况如下,这是成功代码: $(function () {$.ajax({url: "Demo.aspx",type: "post",data: { Id: ...

  9. R语言eval函数评估表达式或者字符串实战

    R语言eval函数评估表达式或者字符串实战 目录 R语言eval函数评估表达式或者字符串实战 #基本语法 #eval函数评估表达式

  10. PHP eval函数

    代码:eval("echo'hello world';"); 上边代码等同于下边的代码:echo"hello world"; 在浏览器中都输出:hello wo ...

最新文章

  1. MySQL中锁详解(行锁、表锁、页锁、悲观锁、乐观锁等)
  2. java 按钮 事件_Java 添加按钮点击事件
  3. cocosc++怎么打印_Lua调用C++时打印堆栈信息
  4. Viewpager中改变PagerTabStrip的颜色(背景色,指示条颜色,文字颜色)
  5. 解决 pandas 读取数据时内存过大的问题
  6. 启动物联网智能校园,NFC技术可变出哪些创新应用?
  7. 新闻发布项目——接口类(commentDao)
  8. 验证码的设计,随机数的生成
  9. c,c++中字符串处理函数strtok,strstr,strchr,strsub
  10. c是过程化语言吗数据库,关于SQL错误的是()A、所有数据库的公共语言B、非过程化的C、统一的语言D、所有用SQL缩写的程序都...
  11. 文件系统及软链接和硬链接
  12. 【单片机基础篇】74HC595芯片详解
  13. c语言switch case ppt,C语言-09switch-case多分支开路语句.ppt
  14. 如何用常量代替session_如何用Python代替Visual Basic应用程序并节省了很多时间
  15. 把swf反编译成fla的几种方法
  16. 分析137份大数据简历-统计技术名词词频
  17. 巴斯大学计算机世界专业排名,2019上海软科世界一流学科排名计算机科学与工程专业排名巴斯大学排名第301-400...
  18. (转)格拉布斯准则(Grubbs Criterion)处理数据异常
  19. 微博第三方+海外国际版+V2EX第三方
  20. android10开发io接口,Android Things:外设I/O接口-GPIO

热门文章

  1. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
  2. OC开发_整理笔记—— CoreLocation(1)基本使用
  3. RHEL5下的DHCP服务和DHCP中继
  4. 女人 这20种男人你永远不必等
  5. php用于防SQL注入的几个函数
  6. java多线程 生产者消费者_java多线程之生产者消费者经典问题 - 很不错的范例
  7. php fopen 汉字,PHP fopen 读取带中文URL地址的一点见解
  8. C语言编写一个赋值程序,实验2 用C语言编写简单程序——2.1 基本数据处理.doc
  9. fraction在java_Fraction.java
  10. Food Buying CodeForces - 1296B