jwl1993
jwl1993

Reputation: 324

In tensorflow source code, what is node class (merge, enter, exit ...)?

I'm looking for code of tensorflow v1.3 for using this framework more precise.

However there are lots of complicate things.

Specifically, I'm watching the process of running the graph.

When one node's numerical computation is done, the output of that node will be added to ready queue.

With this thought, I tracked the code of tensorflow. However in PropagateOutputs function (tensorflow/core/common_runtime/executor.cc), they divide the case into four (enter, exit, next iteration, none).

In this part, I have no idea what node is enter, exit or something. Also I cannot get the point of frame and iteration after I read the manual in the tf code.

Can I get some knowledge of such things or can I get any reference for studying the architecture of tensorflow?

Thanks.

Upvotes: 3

Views: 468

Answers (1)

Yaroslav Bulatov
Yaroslav Bulatov

Reputation: 57973

Merge/Switch are concepts taken from data flow processing concepts from the 70s enter image description here

(from Advances in Computers, 1992)

See section 4.4 of https://arxiv.org/pdf/1603.04467.pdf , discussion in https://github.com/tensorflow/tensorflow/issues/4762

Also following code may be informative:

A replacement for Switch: https://github.com/tensorflow/tensorflow/pull/9189

Adding gradients to while loop: https://github.com/tensorflow/tensorflow/commit/301b14c2

Upvotes: 2

Related Questions