为什么需要 TensorFlow while_loop 节点?

Why is TensorFlow while_loop node required?

为什么 TF 的基本静态、编译计算图结构(相对于动态图)需要一个专用的 while 循环节点并且不能使用 "regular" Python 控制流表达式?

谢谢。

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