TensorFlow简化了计算图

  • 本文关键字:计算 TensorFlow tensorflow
  • 更新时间 :
  • 英文 :


我有一个简单的问题,我也在搜索已经安静了一下,但是也许我正在使用错误的关键字。

TensorFlow如何处理给定的图形?如果一个简单的图:

x = tf.constant(1.0,name ='input')

w = tf.constant0.8,name ='strige')

b = tf.constant0.8,name ='bias')

y_1 = tf.mul(w,x,name ='output_1')

y_2 = tf.add(y_1,b,name ='output_1')

算术语句当然是由计算图给出的,但是张力流是通过不复制记忆等来节省时间等来简化并简化它的吗?因此,它是在cpu或gpu等"设备"上执行计算内核的"凝结"版本?

使其还原为类似的东西:

y_2 = tf.add(tf.mul(w,x),b,name ='output_1')

也许有人知道一个很好的资源,可以进一步了解如何确切地在引擎盖下运行,而不会太深入源代码。

非常感谢您!

TensorFlow包含各种优化,可以简化数据流图。特别是:

  • TensorFlow将应用常见的子表达消除,以避免执行冗余计算。在您的示例中,这不会产生太大的效果,但是TensorFlow会观察到wb是相同的常数,并用单个值替换它们。

  • TensorFlow将应用恒定传播,以便在每个执行子图中相同的(计算)值仅计算一次。在您的示例中,整个表达式都是常数,因此TensorFlow将用与结果相对应的单个tf.constant()值替换它(1.6)。

  • 如果您使用实验XLA编译器,则TensorFlow将进行更具侵略性的简化,并且可能能够用单个TensorFlow内核替换子图,其中包含即时编译的代码。如果在您的示例中,xtf.placeholder(),则可以将计算的其余部分编译为一个输入和一个输出的单个内核。

最新更新