zoukankan      html  css  js  c++  java
  • tf中的run()与eval()【转载】

    转自:https://blog.csdn.net/jiaoyangwm/article/details/79248535 

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

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

    3.

    如果你有一个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 exit
        assert 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 step
       ut.eval()  # runs one step
       sess.run([tu, ut])  # evaluates both tensors in a single step

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

    //就是针对一个tensor来说,eval和run 没有区别,要传入多个需要用run.

    2019-3-21更————

    sess.run中第一个参数是你要执行的Tensor,第二个是要feed的参数,是字典。

  • 相关阅读:
    聚合酶链式反应简称PCR
    基因选择
    ROC曲线的意义
    医学遗传学词汇英语术语英文(Glossary) 8
    LOD值 LOD score
    医学遗传学词汇英语术语英文(Glossary) 1
    遗传图谱 genetic map
    什么是DNA微阵列技术?
    看了两个工具的介绍:Maven BIRT
    $.ajax({ url:"getCounterOfShop.action", type:"post",
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/10552249.html
Copyright © 2011-2022 走看看