为什么需要TensorFlow while_loop节点?

为什么需要TensorFlow while_loop节点?

问题描述:

为什么TF的基本静态编译计算图结构(与动态图相对)需要专用的while循环节点,并且不能使用“常规”Python控制流表达式?为什么需要TensorFlow while_loop节点?

谢谢。

TensorFlow构建计算图并使其具有静态(不可更改)的效率。一旦完成,告诉TensorFlow图做些什么就像发送一些输入到一个单独的程序,除了传递不同的输入外,你不能再改变它。所以当时的TensorFlow图形并不知道Python控制流。它只是在被调用时运行。因此,它需要事先明确地知道你想在TensorFlow图中的一个while循环中添加什么位置。但是,您仍然可以使用Python控制流,只需调用TensorFlow图就好像它是一个特定的函数。